C
ZHANGJNWEI
这个作者很懒,什么都没留下…
展开
-
判断存储字节序
int main(int argc, char *argv[]){ union { short s; char c[sizeof(short)]; } un; un.s = 0x0102; if (sizeof(short) == 2) { if (un.c[1] == 1 && un.c[0] == 2) { printf("big-endien\n"); } el.原创 2020-08-20 07:00:20 · 118 阅读 · 0 评论 -
glibc的Malloc内存分配函数
One Heap to malloc them all, One Heap to free them, One Heap tocoalesce, and in the memory bind them...Overview of MallocThe GNU C library's (glibc's) malloc library contains a handful offunctions that manage allocated memory in the application's ...转载 2020-07-07 11:15:59 · 650 阅读 · 0 评论 -
如何检查当前g++支持的C++标准
#include <iostream>int main(){ #if __cplusplus==201402L std::cout << "C++14" << std::endl; #elif __cplusplus==201103L std::cout << "C++11" << std::endl; #else std::cout <&l.原创 2020-07-06 18:22:35 · 2738 阅读 · 0 评论 -
函数宏与内联函数
函数宏函数宏可以接收参数和返回值。创建函数宏的过程比较简单,定义一个包含参数的宏,参数的名字任意。#define ABS(my_val) ((my_val) <0) ? -(my_val) : (my_val)宏定义中使用了?:运算符返回正数。宏将在代码中被完整替代,可能替代许多重复的代码。宏相比于函数的优势在于它的速度。在调用宏函数的过程中不存在控制权转移。函数调用不能作为宏的参数,例如以下语句不能正常工作:ABS(cos(36))内联函数内联函数的函数体比较小,可以被替原创 2020-06-30 11:05:07 · 149 阅读 · 0 评论