目录
传统艺能😎
小编是双非本科大一菜鸟不赘述,欢迎大佬指点江山(QQ:1319365055)
此前博客点我!点我!请搜索博主 【知晓天空之蓝】
🎉🎉非科班转码社区诚邀您入驻🎉🎉
小伙伴们,打码路上一路向北,背后烟火,彼岸之前皆是疾苦
一个人的单打独斗不如一群人的砥砺前行
这是我和梦想合伙人组建的社区,诚邀各位有志之士的加入!!
社区用户好文均加精(“标兵”文章字数2000+加精,“达人”文章字数1500+加精)
直达: 社区链接点我
🎉🎉🎉倾力打造转码社区微信公众号🎉🎉🎉
回顾🤔
说到 Linux 编译原理还得说说文件底层,为什么机器只认识二进制文件呢?其实并不是机器只认识二进制,而是机器的各种硬件比如磁盘,cpu他们只认识二进制,因为需要通电工作,而电在机器中分辨为高电平(1)和低电平(0),自然识别出来就是二进制的 0,1。
在之前就从 C 语言预处理出发谈及了程序执行原理,如雷贯耳的预处理,编译,汇编,链接在 Linux 环境下也是一样的,尤其是 gcc 环境,这四个大步骤只是一个粗略认知,细节是非常深奥复杂的涉及到编译原理这一大学科。==gcc 是 Linux 中仅支持 C 语言编译的环境,我们现在的环境是 g++,也就是 C++ 环境 ==。
gcc 条件我用的并不是太多,毕竟接触了 C++,gcc 有一个改名指令,因为输出目标文件默认为 a.out ,如果想自己命名可使用 -o 指令:
gcc test.c -o newname
-E 指令🤔
当然,我编写程序运行出来都是一步到位,要是想单独研究中间预处理这些个过程该怎么办呢?我们可以依靠 -E 指令完成:
gcc -E test.c -o test.i
-E 是指:强制程序进行翻译时只到预