固有的不可移植的特征
来源:互联网 发布:王力宏唱功知乎 编辑:程序博客网 时间:2024/06/10 22:57
位域
当程序需要将二进制数据传递给另一个程序或硬件设备的时候,通常使用位域,位域在内存中布局是和机器相关的。
typedef unsigned int Bit;class File{ Bit mode: 2; Bit modified:1; Bit prot_owner: 3; Bit prot_group: 3; Bit prot_world: 3;};
作为类的private成员位域只能从成员函数的定义和类的友元访问。
volatile限定符
volatile的确切含义与机器有关,只能通过阅读编译器文档来理解。
直接处理硬件的程序常具有这样的成员,它们的值由程序本身直接控制之外的过程所控制。
例如,程序可以包含由系统时钟更新的变量。当可以用编译器的控制或检测之外的方式改变对象值的时候,应该声明为volatile。
volatile是给编译器的指示,指出对这样的对象不应该执行初始化。
链接指示:extern "C"
编译器一般必须产生不同的代码来调用用其他语言编写的函数
链接指示两种形式:单个的或复合的
链接指示不能出现在类定义或函数定义的内部,必须出现在函数的第一次声明上。
extern "C" size_t strlen(const char*);extern "C" { int strcmp(const char*, const char*); char* strcat(char*,const char*);}
C++的cstring头文件可以像这样:
extern "C"{ #include<string.h>}
假定头文件中的所有普通函数声明都是用链接指示的语言编写的函数。
链接指示支持的语言:Ada,FORTRAN等,随编译器而变。
编写函数所用的语言是函数类型的一部分。
extern "C" void f1(void(*)(int));extern "C" typedef void FC(int);void f2(FC*);
0 0
- 固有的不可移植的特征
- 固有的不可移植的特征
- 固有的不可移植的特征之volatile限定符
- 固有的不可移植的特性
- C++ Primer 学习笔记_107_特殊工具与技术 --固有的不可移植的特征[上]
- C++ Primer 学习笔记_108(大结局!!!)_特殊工具与技术 --固有的不可移植的特征[下]
- volatile 等C++中固有的不可移植特性
- Chapter 30.类成员指针、嵌套类、局部类、联合、固有不可移植特征
- 软件固有的复杂性
- SIP协议固有的安全漏洞
- Notification固有的扩展示例
- 去除checkbox固有的样式
- B/S 结构 固有的弱点
- AMOLED屏幕的一些固有缺陷
- 怎样跳出自己固有的思维
- C++中不可移植的语言特性
- 简谈C++不可移植的特性
- [企业管理]一种不可跟随的老板的特征
- Item revision 信息查询
- MyEclipse Servers 视窗报错“Could not create the view: An unexpected exception was thrown”
- struts2 表单验证的两种方式
- vc ocx 实现IObjectSafety接口
- [深入浅出Cocoa]之消息(二)-详解动态方法决议(Dynamic Method Resolution)
- 固有的不可移植的特征
- 内存分配
- 设置vim的项目配置
- S3C6410 存储器映射
- CString Format的用法(转)
- 设计模式六大原则
- 嵌入式知识结构梳理
- 试题第一版
- 【OGG-01161】源端表结构发生变化导致replicat进程abend