![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程基础
文章平均质量分 58
主要分析介绍C/C++基础知识点
LTracer
年轻不留白
展开
-
C 程序内存布局
C 程序内存布局作为计算机专业的来说,程序入门基本都是从C语言开始的,了解C程序中的内存布局,对我们了解整个程序运行,分析程序出错原因,会起到事半功倍的作用 。C程序的内存布局包含五个段,分别是STACK(栈段),HEAP(堆段),BSS(以符号开头的块),DS(数据段)和TEXT(文本段)。每个段都有自己的读取,写入和可执行权限。如果程序尝试以不允许的方式访问内存,则会发生段错误,也就是我们常说的coredump。段错误是导致程序崩溃的常见问题。核心文件(核心转储文件)也与段错误相关联,开发人员使转载 2022-04-19 19:03:10 · 277 阅读 · 0 评论 -
C/C++ 宏定义中#、##、#@的含义
#:表示将对应变量字符串化##:表示把宏参数名与宏定义代码序列中的标识符连接在一起,形成一个新的标识符#@:表示将单字符标记符变换为单字符,即加单引号。例如:#define A(x) #@x则A(a)即’a’,A(1)即’1’,但A(abc)却不甚有效。#include <stdio.h> #define trace(x, format) printf(#x " = %" #format "\n", x) #define trace2(i) trace(x##i,原创 2021-09-10 15:35:40 · 7262 阅读 · 0 评论