C语言
文章平均质量分 70
郭同学如是说
在这里亟需一个宏大的的沉思。
展开
-
程序的生命周期:从.c文件到二进制文件
一个.c文件是如何成为一个可执行二进制文件的?文件后缀被执行过程工具细节.c预处理预处理器(cpp,c pre-processor)宏替换、头文件展开、注释删除.i编译cclC语言程序转化为汇编语言程序(.s).s汇编编译器汇编语言程序转化可重定位目标文件(.o).o链接ld(链接器)将多个.o文件链接为一个可执行文件预处理使用cpp(C 预处理器)完成了:将.c文件转化为.i文件在这里.i文件只是一个后缀而已,本质上仍然原创 2022-05-28 20:28:14 · 694 阅读 · 0 评论 -
【C语言指针】分析C语言复杂指针
前言指针是一种保存变量地址的变量,简单指针容易分析,但是当指针稍微复杂,就很容易无从下手,比如:char *(*(**foo[][8])())[]; 下面将会由浅入深的探究指针普通指针#include <cstdio>#include <iostream>using namespace std;int main() { int a = 1; int * pa = &a; int ** ppa = &pa; prin原创 2022-02-08 17:11:52 · 1308 阅读 · 0 评论 -
【C语言指针】char* argv[] 、char **argv、命令行传参
命令行环境下的C语言程序不同于 ide 一键 build and run,在命令行环境下运行C语言程序,可以指定参数,argc 表示参数的个数, argv 表示参数的字符串数组下面是一个C语言程序,它将打印出参数的个数和值#include <stdio.h>int main(int argc,char **argv){ printf("argc is %d \n argc is :\n",argc); for(int i=0;i<argc;i++原创 2022-02-03 20:18:06 · 14137 阅读 · 3 评论