POSIX编程:接口使用、编译环境与命名空间详解
1. 接口的使用与实现
在编程中,接口的使用和实现有着明确的规则,以下将从函数和宏两个方面进行详细阐述。
1.1 函数的使用与实现
函数在编程中扮演着重要角色,其使用和实现需遵循以下规则:
1. 无效参数处理 :若函数参数值无效,如超出函数定义域、指向生命周期已结束对象的指针、超出程序地址空间的指针或空指针,函数行为将未定义。
2. 函数与宏的关系 :头文件中声明的函数可能以宏形式实现。若包含头文件,无需显式声明函数。可通过将函数名括在括号内局部禁用宏定义,也可使用 #undef 确保引用实际函数。
3. 宏函数参数评估 :以宏实现的函数调用,应扩展为对每个参数仅评估一次的代码,并在必要时用括号保护,因此可安全使用任意表达式作为参数。
4. ISO C标准函数声明 :对于ISO C标准函数,若声明时无需引用ISO C标准头文件中定义的类型,可在不包含关联头文件的情况下显式声明并使用。
5. 可变参数函数声明 :未声明(显式或通过包含关联头文件)的可变参数函数,行为未定义。
6. 数据竞争预防 :函数应避免直接或间接访问当前线程以外线程可访问的对象,除非通过函数参数访问;同样,也不应修改其他线程可访问的对象,除非通过非 const 参数。实现可在线程间共享内部对象,前提是这些对象对应用不
超级会员免费看
订阅专栏 解锁全文
138

被折叠的 条评论
为什么被折叠?



