Welcome 微信登录

首页 / 软件开发 / C语言

C中位域结合对齐(pragma)的例子及解释

C中位域结合对齐(pragma)的例子及解释

C中位域结合对齐(pragma)的例子及解释2013-06-07有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许...
系统级编程语言性能比较

系统级编程语言性能比较

系统级编程语言性能比较2013-11-16C/C++已经统治系统编程很久,除了ObjectiveC之外语言都无法获得很高的关注。有人用多种系统级语言编写了同样的地图生成工具来测试他们的性能,包括D(DMD,LDC,GDC)、Go(GCC-Go,6g)、Haskell(GHC)和Rust。相比C/C++,这些语言都原生支持了诸如垃圾回收这些高级特性,也因此无一能达到C/C++的运行速度。其中表现最好的是基于LLVM的D语言编译器LDC,与同样基于LLVM的C...
抽取VS文件组成类GCC的编译器并编译C程序为dll动态链接库

抽取VS文件组成类GCC的编译器并编译C程序为dll动态链接库

抽取VS文件组成类GCC的编译器并编译C程序为dll动态链接库2013-11-16用惯了linux下的GCC编译工具,倒喜欢起命令行的方式编译链接C程序,居然还发现我装的VS工具没看到直接编译C程序的工具(我不太熟悉这个)。VS的编译文件命令是cl,链接命令是link。参考了网上资料,采用提取VS的编译器文件组成一个可以命令行方式编译程序的工具。以下为步骤:1,在自己目录创建文件夹,如:D:/vctool;2,将VS安装目录下的VC目录下的bin、lib、...
object-C中的数据类型转换

object-C中的数据类型转换

object-C中的数据类型转换2013-11-16不同类型数据间按照下面关系的从左到右(从低到高)自动转换,如果这些数据类型进行混合运算,运算中不同类型的数据先转化为同一类型,然后进行运算,转换从左到右自动转换,如表2-3所示。表2-3 类型转换先后顺序表操作数1类型操作数2类型转换后的类型_Bool、char、short int、枚举类型intint_Bool、char、short int、枚举类型、intlong intlong int_Bool、c...
Objective-C的数据类型

Objective-C的数据类型

Objective-C的数据类型2013-11-16Objective-C数据类型可以分为:基本数据类型、对象类型和id类型。基本数据类型有:int、float、double和char类型。对象类型就是类或协议所声明的指针类型,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型。id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才...
linux C 中的volatile使用

linux C 中的volatile使用

linux C 中的volatile使用2013-11-16 DLUTBruceZhang 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的 值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在 寄存器里的备份。下面是volatile变量的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2). 一个中断服务子程序中会访问到的非自动变量(Non-autom...
C语言中的typedef详解

C语言中的typedef详解

C语言中的typedef详解2013-11-16typedef声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 t ypedef来编写更美观和可读的代码。所谓美观,意指typedef能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。typedef使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。类型出现在所声明的变量名字中,位于 ""typedef""关键字右边。例如:typedef in...
<< 21 22 23 24 25 26 27 28 29 30 >>