
C/C++
文章平均质量分 65
语法和实际使用
sutneucoder
坚持记录,容易记住。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
argv溢出
这种kv格式的数据,基本就是环境变量。从进程内存布局空间来看,也可以解释得通。《UNIX环境高级编程》中的内存模型图展示了进程空间最上方的存储是命令行和环境变量。此技术可以应用在修改进程名称上:先将环境变量等信息拷贝一份,然后全局变量重新指向,最后覆盖这块区域内容为自定义名称。因为修改了argv边界元素,使循环无法在原来的边界停止,而继续输出。argc和argv是主函数运行的input。原创 2024-08-30 11:35:55 · 1069 阅读 · 0 评论 -
C++ lambda表达式
Lambda 表达式可以捕获外部作用域的变量,也可以作为参数传给函数或变量。Lambda 表达式是 C++11 的新特性,一种定义匿名函数的简洁方式。Lambda 表达式可以捕获外部作用域中的变量。Lambda 表达式作为比较器传递给函数,例如。Lambda 表达式的参数列表和返回类型。捕获所有外部变量的副本,或使用。捕获所有外部变量的引用。原创 2024-08-29 17:05:47 · 372 阅读 · 0 评论 -
常量指针与指针常量
先指针int* 后常量const,常量const修饰的是后边ptr(指针),所以p不可修改,*ptr无限制可以修改。先常量 const ,后指针 int*,常量修饰的是。即,ptr = &b不可行,*ptr = b 可行。指针常量 是 int* const ptr。即*ptr = b不可行,ptr=&b可行。常量指针 const int * p;p不可修改,p无限制可修改。原创 2024-08-28 15:09:52 · 211 阅读 · 0 评论 -
_attribute__((visibility(“hidden“)))和符号可见性
通过配置符号的可见性,可以控制哪些符号在不同模块间可见,从而优化库的结构和提高安全性。是GCC/Clang提供的一种机制,用于控制符号的可见性,以。以下是一个简单示例,展示了如何使用。在C和C++中,符号可见性是指。提高代码安全性和优化链接性能。是实现这一目标的有效手段。不会出现在符号表中,而。原创 2024-08-14 10:31:04 · 1044 阅读 · 0 评论 -
#define _UNUSED __attribute__((unused))有什么作用?__attribute__是什么?
在需要保留函数参数情况下,保持函数接口的稳定性。即使这些参数在某个版本中未被使用,未来可能会使用,使用。:在开发过程中,可能会有一些变量或参数在某些条件下并没有被使用。正常情况下,编译器会发出警告,使用。是一个强大的工具,可以来优化程序、控制警告和影响代码生成,但在使用时需要注意跨平台的兼容性。是一个宏定义,在 C/C++ 语言中用于标记未使用的变量、函数或参数。被标记为未使用,这样编译器就不会发出相关的警告。是一种 GCC 和 Clang 等编译器提供的。可以保持代码的整洁性。原创 2024-08-14 10:18:49 · 1180 阅读 · 0 评论 -
内存泄漏工具valgrind初使用
leak-check=full 表示检测所有内存泄露。编译,-g 保留调试信息。原创 2024-08-13 19:17:06 · 231 阅读 · 0 评论 -
为什么使用宏定义日志接口?
使用宏定义,可以在不同的编译条件下选择不同的日志函数实现。也能够做到可以在调试版本中使用更详细的日志输出,而在发布版本中只输出错误日志。:宏定义在预处理阶段进行替换,因此编译器将宏定义的日志函数直接替换为实际的日志函数调用,从而避免了函数调用的开销。:由于宏定义是预处理器指令,因此可以在不修改源代码的情况下修改日志函数的行为。日志宏的实现可以在多个模块中共享,从而提高了代码的复用性。:宏定义可以接受可变参数,这使得日志函数可以接受不同数量的参数,从而提供了更大的灵活性。风格的格式字符串来格式化日志消息。原创 2024-07-30 11:06:25 · 512 阅读 · 0 评论 -
openlog系统日志调用
这行代码是C语言中用于日志记录的函数调用,具体来说,它使用syslog库中的openlog函数来初始化日志记录系统。原创 2024-07-24 16:13:07 · 750 阅读 · 0 评论 -
C++容器之vector
vector是可变数组。容纳元素个数可以在运行期间变化。std::vector 是 C++ 标准库中的动态数组容器,它提供了可变大小的数组功能,具有灵活性和多种强大的功能。原创 2024-07-20 00:17:39 · 569 阅读 · 0 评论 -
C++容器之array
array是固定大小数组。C++中,array是一个模板类,提供了数组的功能,在许多方面比原始的 C 风格数组更为强大和灵活。主要特点。原创 2024-07-19 23:33:24 · 441 阅读 · 0 评论 -
c/c++语言的一种日志的编写办法
的作用是在宏中将可变长度参数的前一个参数和后一个参数连接起来,如果可变长度参数为空,则不产生任何内容。与之对应的区别就是,函数名称的差异取决于调用函数所传入参数的不同。今日分享一下,从某源码中看到这种日志编写方式,很强。确保在参数列表为空时,不会生成多余的逗号或者括号。语法是C/C++语言的变参宏技巧,处理可变参数。这几种日志输出函数,背后都调用了相同的调用。这三个宏的不同,代表不同的日志严重等级。,通过变参的方式传递不定数量的参数。,用于打印日志信息。原创 2024-07-03 11:00:36 · 482 阅读 · 0 评论