C++
hwb18253164494
这个作者很懒,什么都没留下…
展开
-
读书笔记-程序员的自我修养(编译,链接与库)
目录编译和链接目标文件里有什么可执行文件的装载和进程静态链接动态链接linux共享库的组织编译和链接预编译: gcc -E hello.c -o hello.i 预编译过程主要是处理#打头的预编译指令。 它会删除所有的#define,并展开所有宏定义 处理所有条件的预编译指令,例如#if,#elif, #ifdef, #els...原创 2019-10-13 21:51:44 · 191 阅读 · 0 评论 -
C++中typedef的用法
ypedef的四个用途和两个陷阱---------------------------------用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般转载 2015-11-22 17:29:13 · 250 阅读 · 0 评论 -
C++中const的使用
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。const的使用是c语言中一个比较微妙的地方,请看下面几个问题。 问题:const变量 和 常量 为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢? const int n = 5;int转载 2015-11-18 20:41:01 · 251 阅读 · 0 评论 -
C++堆栈区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2015-11-18 14:59:34 · 302 阅读 · 0 评论 -
C++如何巧妙定义宏
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用得宏定义。 1、防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif 2、重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。转载 2015-11-18 15:30:05 · 485 阅读 · 0 评论 -
jsoncpp库的使用方法
1、 编译jsoncpp 从(http://jsoncpp.sourceforge.net/)下载源码包“jsoncpp-src-0.5.0.tar.gz”,解压后在其解压后目录中运行$ scons platform=linux-gcc 编译出来的库文件在其libs/ linux-gcc-4.4.2目录下,有libjson_linux-gcc-4.4.2_libmt.so和libj转载 2015-11-30 16:07:56 · 457 阅读 · 0 评论