随笔分类 - C
摘要:Windows上 以CRT为例。Windows上的动态库版本的CRT库:ucrtbase.dll,其对应的导入库是 ucrt.lib。 在cl命令行或者cmake脚本时,都是写的ucrt。 即:对于windows上的动态库,在链接指令中实际要写的是导入库的名字!我会产生这个问题,是不是因为大多数时候
阅读全文
摘要:充分理解C/C++重要概念:运行时库 什么是运行时库 C/C++程序运行过程中,会需要链接实现标准库函数的库,以及和操作系统交互的库。这些库组成了运行时库。 运行时库的作用: 实现语言标准库(堆内存分配与回收、线程原语、静态对象的构造和析构、字符串、数学时间、输入输出、异常处理、虚函数RTTI等)
阅读全文
摘要:一个通过强制使用符号来避免链接器忽略符号的方法 虽然如果链接器在链接库时将符号忽略了一般是由于设置了 --as-needed 选项,或者编译时的优化太激进了,所以一般还是要去分析编译和链接过程来解决。 但如果确实不好解决,可以通过强制使用这些被忽略的符号的方式来让链接器不要忽略: // 对所有被忽略
阅读全文
摘要:跨平台coredump生成器——breakpad 介绍 google/breakpad: Mirror of Google Breakpad project breakpad是google开发的一个跨平台C/C++ dump捕获开源库,崩溃文件使用微软的minidump格式存储,也支持发送这个dum
阅读全文
摘要:XCB API风格探究 libxcb中的API风格是这样的: // 发送请求并得到 Cookie 对象 xcb_DOSOMETING_cookie_t cookie = xcb_DOSOMETING(conn, ARGS...); // 继续执行其他任务 ... // 在需要获取结果的时候,通过调用
阅读全文
摘要:C语言一个内存分配引发的问题——指针长度截断 问题现象 #include <stdio.h> #include <string.h> int main() { char* str = NULL; str = (char*)calloc(1, 5); fprintf(stderr, str); ret
阅读全文
摘要:C语言ALIGN对齐数宏 Linux内核中有许多 ALIGN 宏,如: #define ALIGN(x, size) __ALIGN_MASK(x,(typeof(x))(size)-1) // typeof宏是gcc的扩展,用于求出x的类型 #define __ALIGN_MASK(x,mask)
阅读全文
摘要:C语言预处理和宏 C语言宏的定义和宏的使用方法(#define) (biancheng.net) C/C++ 宏编程的艺术 - 知乎 (zhihu.com) 预处理命令 预处理是C语言的一个重要功能,由预处理程序完成。当对一个源文件进行编译时,系统将自动调用预处理程序对源程序中的预处理部分作处理,处
阅读全文
摘要:C语言逗号表达式和赋值表达式 笔试常考这个,没办法 #include <iostream> using namespace std; int main(int argc, char const* argv[]) { int a = 0, b = 0, c = 0, d = 0; // 1. 逗号表达
阅读全文
摘要:# 数据类型所占的字节数探究 首先明确:**操作系统的寻址能力和机器的地址总线宽度以及数据总线宽度都有关。地址总线宽度决定了机器中总共有多少物理地址,数据总线决定了OS能访问这些物理地址中的多少部分**。 - **32位系统的数据总线和地址总线宽度都为32位**,因此,一次最多能够处理32位的数据,
阅读全文
摘要:C语言初始化在开发中的几种写法 参考:C语言结构体初始化的四种方法_ericbars的博客-CSDN博客 使用memset函数 用于赋值为全0: struct sockaddr_in cliaddr; memset(&cliaddr, 0, sizeof(cliaddr)); 使用{}列表初始化 s
阅读全文
摘要:调用约定(Calling Convention) 参考: C++ 小知识点 WINAPI - 程序员丁 - 博客园 (cnblogs.com) MFC中CALLBACK函数 和WINAPI函数的区别_mfc中回调函数需要全局函数吗_I_Have_123456的博客-CSDN博客 函数调用方式主要体现
阅读全文
摘要:程序中的断言(ASSERT) 概念 断言(assertion)是一种防御式除错机制,用于验证代码是否符合编码人员的预期。编码人员在开发期间应该对函数的参数、代码中间执行结果合理地使用断言机制,确保程序的缺陷尽量在测试阶段被发现。 通常来说,断言并不是正常程序所必需的,但对于程序调试来说,断言能够快速
阅读全文

浙公网安备 33010602011771号