04 2016 档案

摘要:《Effective STL》第3条 当往容器中保存对象时,保存的并不是提供给容器的那些对象,而是那些对象的拷贝。 如何拷贝?利用的是对象的拷贝构造函数。 成功执行,输出 编译会帮忙生成拷贝构造函数 如果禁用拷贝构造函数 编译时会报错 如果自己定义了拷贝构造函数 执行输出: 执行了自己定义的拷贝构造 阅读全文
posted @ 2016-04-23 14:36 Kjing 阅读(449) 评论(0) 推荐(0)
摘要:制作一个共享库 main.c 如果在 func 前面加上 在编译 main 时,报错: 如果在编译动态库时加上 -fvisibility=hidden,表示动态库的符号都是 hidden的 在函数前加上 __attribute__((visibility("default"))) 可以使函数对外可见 阅读全文
posted @ 2016-04-16 16:17 Kjing 阅读(987) 评论(0) 推荐(0)
摘要:GNU 编译器(GCC)提供了很多 C 语言扩展,编译器会使用该信息生成更高效的机器代码。 内联函数 避免内联 纯函数 返回值只受函数参数或 nonvolatile 全局变量影响。 常函数 常函数是一种严格的纯函数。常函数不能访问全局变量,参数不能是指针类型。因此,常函数的返回值只和值传递的参数值有 阅读全文
posted @ 2016-04-16 15:18 Kjing 阅读(1529) 评论(0) 推荐(0)
摘要:标准I/O实现了三种类型的用户缓冲,并为开发者提供了接口,可以控制缓冲区类型和大小。 无缓冲(Unbuffered) 不执行用户缓冲。数据直接提交给内核。因为这种无缓冲模式不支持用户缓冲(用户缓冲一般会带来很多好处),通常很少使用,只有一个例外:标准错误默认是采用无缓冲模式。 行缓冲(Line-bu 阅读全文
posted @ 2016-04-01 10:17 Kjing 阅读(555) 评论(0) 推荐(0)