文章分类 - C/C++编程笔记
摘要:好处: 增强代码适应性 增加代码扩展性 增加代码灵活性 适应性 普通宏函数:#define FOO(x) foo(x);bar(x); 在无包裹的 if() else 内会出现语法错误和隐藏的逻辑错误。 添上包裹的普通宏函数: #define FOO(x) {foo(x);bar(x);} 函数在调
阅读全文
摘要:libuv 编译安装库 源码编译-自动检测生成 ./autogen.sh 源码编译-配置 ./configure 源码编译-编译 make 源码编译-检查测试项 make check 安装库 make install 安装到了 /usr/local/lib 下 有如下文件: -rw-r--r-- 1
阅读全文
摘要:signal(SIGPIPE, SIG_IGN); TCP是全双工信道, 可看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协议的语义, 表示对端只是关闭了其所负责的那一条单工信道, 仍然可以继续接
阅读全文
摘要:先介绍下LOCAL_CFLAGS LOCAL_CFLAGS += -DXXX 相当于在所有源文件中增加一个宏定义#define XXX 在Android.mk中增加 ifeq ($(PRODUCT_MODEL),XXX_A) LOCAL_CFLAGS += -DBUILD_MODEL1 endif
阅读全文
摘要:linux中的 umask 函数主要用于: 在创建新文件或目录时,屏蔽掉新文件或目录不应有的访问允许权限。文件的访问允许权限共有9种,分别是:r w x r w x r w x(它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行)。 其实这个函数的作用,就是设置允许
阅读全文
摘要:atexit -- Set function to be executed on exit <cstdlib> C int atexit (void (*func)(void)); C++98 extern "C" int atexit (void (*func)(void)); extern "C
阅读全文
摘要:参考别人观点有如下几点: 模拟OOP中的虚函数 函数指针几乎总是为了运行时多态 安卓recovery部分涉及fuseSideload部分有如下使用场景: struct provider_vtab { // read a block int (*read_block)(void* cookie, ui
阅读全文
摘要:宏定义内容: sys/cdefs.h /* C++ needs to know that types and declarations are C, not C++. */ #ifdef __cplusplus # define __BEGIN_DECLS extern "C" { # define
阅读全文
摘要:extern关键字解析 程序的编译单位是源程序文件,一个源文件可以包含一个或若干个函数。 函数内定义的变量是局部变量,而在函数之外定义的变量则称为外部变量,外部变量也就是全局变量。它的存储方式为静态存储,其生存周期为整个程序的生存周期。 全局变量可以为本文件中的其他函数所共用,它的有效范围为从定义变
阅读全文

浙公网安备 33010602011771号