① c语言编写一个程序后,为什么编译是是文件不存在,要如何调节
可能是你的文件夹地址设置不正确,不知道你用了那个版本的C,如果是TC,可以这样去检查一下(设TC目录是C:\TC):
运行TC,进入Options/Directories,把其中的Include Directories设置为C:\TC\INCLUDE 。
② c语言gcc编译器如何处理不同编码的中文txt文件
纯linux环境下iconv库可以干这些
③ C语言编译到机器码的过程求详细解说,不胜感激
从编码到生成可执行的binary文件是有好几个过程的:(默认已完成编码)
1, 预编译(预处理), 也就是替换工作, 先把代码中的宏做替换, 条件编译等会做处理,为编译做作准备;
2,编译,包括了语法的检查,汇编代码等中间代码的生成,代码优化,obj文件(也算是目标代码)的生成,已经是有机器码了;
3.库的合成,这个不一定有,不是必须的;
4.链接, 连接器会按照一定的规则,比如根据连接脚步,把code组织起来,生成elf文件(elf可能不是一个所有通用的格式),这个时候已经可以执行了,里面的可以执行的机器码;
5,裁剪, 可以把elf文件中的非必需的段 strip,生成一个更精简的elf文件;
6,binary的生成,obj命令可以把elf文件转换成binary文件,binary文件烧录到存储器中可以直击运行。
④ c语言编译时需要检查吗
你问的需要检查,是检查什么?
C语言编译时会检查语法是否正确,类型是否匹配等。不检查数组越界,死循环,无限递归等。