15 zenny_chen

尚未进行身份认证

GitHub: https://github.com/zenny-chen 【CPU Dasher X】https://itunes.apple.com/cn/app/cpu-dasherx/id1168527539?l=en&mt=8 《OpenCL异构并行》:https://item.jd.com/11818715.html 《C语言编程魔法书》:https://item.jd.com/12737899067.html

等级
TA的排名 7k+

我的GitHub文集

服务器相关云服务器搭建配置以及服务器开发相关客户端编程技术相关如何用Android Studio创建一个C语言项目并学习开发C语言和汇编语言我收藏的Android开发技术文集Android中使用Objective-C加GNUstep如何用Android Studio创建一个C语言项目并学习开发C语言和汇编语言在Android Studio 3.0中使用C语言以及汇...

2019-04-18 16:19:43

在Android Studio 3.0中使用C语言以及汇编语言

从Android Studio 2.2起,我们可以直接通过CMake在Android Studio中写C源代码以及汇编代码,而不需要通过NDK编译工具链生成好.so文件后再导入到工程中。而到了Android 3.0,使用C代码就更方便了,我们通过工程向导设置使用C语言之后,向导会自动建立一个完整的利用C++语言JNI的工程,我们只要把默认的那个恶心的cpp源文件修改为C源文件即可。下面我将详细列出直接通过Android Studio 3.0来编写C代码和汇编代码的步骤。对于其中的细节,如果各位有条件的话可

2017-10-28 00:38:23

Android Studio2.3 如何设置提示快速注释文档

在大部分现代化集成开发环境中都有代码智能感知以及快速显示当前函数或类型的注释文档化功能。不过在Android Studio中默认没有开启提示快速注释功能,下面我们就教给大家如何设置。

2017-04-25 16:47:50

Swift 3.0与C语言指针类型的桥接

Swift编程语言是一门灵活、简洁、安全而又强大的编程语言。其简洁性与安全性从它语法设计上就能看出。而它的高效性从它可以提供针对硬件底层进行编程的特性就能看出。尤其是从Swift 2.x中,其指针类型的使用变得更加灵活,甚至可以直接将一个整数作为地址,使得单纯通过Swift本身即可访问MMR寄存器。不过本博文将描述它另一个非常棒的特性——即与C API几乎完美的兼容!

2017-02-03 14:32:30

Swift 3.0中C语言指针类型在Swift编程语言中如何操作

Swift 3.0在2.0基础上做了许多改动,其中之一就是与C API的兼容性上。这里我将主要讲解一下C语言的指针与Swift编程语言的桥接在Swift 3.0中改成啥样了。

2016-12-04 20:00:30

关于Swift3.0中的type(of:)函数

其实Apple在Swift 2.x的时候就引入了typeof函数,用于获取某一对象的元类型。在Swift 3.0中,由于反射机制大幅度修改,Mirror现在也用不了了,所以type(of:)这个函数是为数不多的关于Swift中的反射接口。

2016-12-01 21:44:17

闲谈Objective-C编程语言(内含不包含任何框架的Objective-C代码)

从2008年起,由于Apple开放了App Store,iOS开发热浪席卷全球,Objective-C编程语言也似乎一夜之间成为了各个程序猿家喻户晓的编程语言了。其实Objective-C很早就诞生了,它早先由Brad Cox和他妻子Tom Love两人一起开发出来的,其目标就是基于C语言打造出一款拥有SmallTalk消息机制、动态类型的面向对象的编程语言。这个时间比Bjarne Stroustrup开发出第一版C++的时间还要早2年。

2016-11-28 17:24:05

使用Objective-C实现自定义的RunLoop

我们知道,由Apple主推的伴随Objective-C的运行时库——Foundation,其核心部分就是NSRunLoop类了。Foundation库将多线程封装得特别好,我们只需通过NSObject的performSelector:onThread:withObject:waitUntilDone:方法即可将一条消息分发到指定的一个线程上执行;通过使用performSelector:withObject:afterDelay:即可将指定的消息延迟指定的时间后发送给消息接收者之行。

2016-11-22 15:02:42

使用C11的原子操作来实现线性单链表操作

随着多核处理器的逐步普及,各种对于多核多线程并行计算的算法也得到了深入研究。而在高性能并行计算方面,许多处理器引入了原子操作以便同步多核多线程可共享的资源。在多核多线程环境中,要对某一个共享资源进行同步必须用到原子操作,即便是像mutex、semaphore等传统的锁机制也是需要通过原子操作来实现。为了加速对共享资源的访问操作,许多无锁的算法(lock-free或non-blocking)被设计出来,通过消除锁来避免锁带来的系统开销。

2016-11-14 16:44:48

使用纯C语言通过Direct3D 11的Compute Shader做通用目的计算

从2010年起,基于GPGPU的通用目的计算随着OpenCL以及CUDA的大热而变得异常火热。而基于GPU的通用目的计算,其实从其本质上上来说就是通过GPU内部的Compute Shader来完成的。而OpenCL以及CUDA则是将主机端与GPU端的通信接口做了更为标准化的统一。而在最近这几年中,除了OpenCL与CUDA之外,还有像微软发布的C++ AMP,还有最近被融合到OpenMP的OpenACC等工具,这些都是利用GPU的大规模数据级并行计算来做数据级密集通用目的计算的。而现在在高性能计算领域,用

2016-10-30 21:22:21

使用纯C语言开发简单的Direct3D 12应用

由于微软官方给出的D3D12的demo都经过C++层层封装,即便是很简单的画三角形的程序都显得比较复杂。因此笔者这里就用纯C语言来改写画三角形的简单D3D12应用程序。这里面不包含任何已被废弃的D3DX的库,所以可以直接拿来使用。

2016-10-26 21:58:47

Java7与Java8新增语法特性

Java 7在语言语法上主要新增以下语法特性:

2016-09-27 22:02:14

macOS上如何通过iCloud Drive便利地同步文稿

在macOS、iOS上,使用iCloud能方便地同步各类文件。而在Mac上,我们通过iCloudDrive还能把iCloud当网盘使用。使用方法非常简单:

2016-09-27 13:42:09

Swift 3.0中的函数签名与函数引用

在Apple官方的《The Swift Programming Language》中提到了Swift中函数的定义以及如何调用的方式,并且也大概提到了函数引用的方式以及如何通过一个函数引用对象进行函数间接调用。不过,在此文中并未对函数符号的识别做详细描述,这样当我们用一个函数引用去指向一组重载的函数中的某一个时就可能会引发一些问题。这里我将为大家详细描述Swift中函数签名以及如何在一组重载的函数集中找到我们想要的那个函数。

2016-09-25 23:49:00

Metal API随着iOS 10与macOS 10.12新引入的Tessellation特性

Tessellation——中文一般译作“细分曲面”,一般用于将由少量顶点构成的面生成细节度更高的面。这其中的原理是将一个三角形或四边形,由GPU根据我们编程的控制点生成规则,自动生成更多的顶点,然后将这些顶点根据一定规则生成更多的三角形。这么一来,我们可以在3D游戏中在远处的敌人使用低模也能做出精细度较高的模型出来了,而且也省顶点数据传输带宽。

2016-09-23 22:24:20

Swift中使用C11标准的原子操作

当前Swift 3.0中还没有正式引入基本类型相对应的原子类型。而在macOS以及iOS下,我们可以用系统自带的OSAtomic API进行原子操作处理。但这组API只能在Apple自家平台上使用,我们无法在Linux/FreeBSD中使用,所以我这边封装了顺应C11标准的一组原子类型与原子操作提供给Swift编程语言。

2016-09-21 14:50:17

Ubuntu系统下通过Clang编译器编写Objective-C

Objective-C作为Apple的first-class编程语言,在很长一段时间内都得到大量开发者的追捧。其中,Objective-C对C语言的完全兼容、灵活性以及OOP特性,使得它成为一门十分优秀,且平衡度很高的编程语言。在我所有用过的编程语言中,Objective-C是最最适合用于开发驱动以及应用层程序的编程语言,它比C++轻便地多,但功能上又比C++更强;而在完美兼容C语言的基础上增加了...

2016-09-11 23:39:16

Objective-C如何使自定义对象类作为NSDictionary的key

我们通常会通过Objective-C中Foundation库的NSDictionary与NSMutableDictionary来存放键值对。然而并不是所有Objective-C类都能作为NSDictionary的key来用的,这里将介绍如何将我们自己定义的Objective-C类可作为NSDictionary的键。

2016-09-11 22:22:51

向量化矩阵转置算法

在不少高性能计算中,矩阵转置扮演了一个使用比较频繁的角色。因此如果在某个处理过程中,矩阵转置占的比重比较大,且算法没设计好的话就可能会成为该处理过程的计算瓶颈。这里我将介绍向量化矩阵转置的算法过程。

2016-08-22 17:55:52

Swift中使用C API时传递指针注意事项

Swift总的来说是一门比较容易编写的静态编译且略带一些动态特性的编程语言。由于Swift在2014年才刚诞生,因此当前在语法上修改的幅度比较大,尤其是从Swift 1.0到Swift 2.0;Swift 2.0到Swift 3.0。然而,此编程语言也逐步走入正轨,当前所有的改动都准对编程语言的稳定性、语法体系的完备性、API命名规则的一致性等问题进行展开,并且Swift从一开始就在保留对Objective-C以及C语言的相兼容性。我们在Swift中可以使用大量C语言形式的系统API,这些API中有不少包含

2016-08-09 22:16:55

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!