当前位置:首页 » 编程软件 » 设计编译程序注意的问题

设计编译程序注意的问题

发布时间: 2024-10-18 14:08:43

Ⅰ 关于c语言编译阶段的一些问题

呵呵,找一本好书吧。我不能完全给你写清楚,"sting.h"的拼写已经有人说了。
简单地说,要理解几种文件:
A:源文件:例如汇编(asm)、c语言、cpp
B:目标文件
C:库文件(lib)
D:可执行文件

A经过编译器得到B,若干个B可以经过库管理程序得到C,C也可以通过库管理程序得到B(提取)
若干个B通过链接器可以得到D,但是比如strcmp是出现在C中的,但实际上链接器会到C中提取出strcmp所在的B,然后将这个B放入到你的D中。整过过程是一个求闭包的过程,具体参见《Linker and Loader》。

最后说说.h,其实.h本身并不是必要的,但是它可以减少人们的错误,减少重复的代码。
比如printf,你完全可以不include<stdio.h>,你就自己写上一行:
int printf(...);
然后你后面就是直接使用就好了,但是这样会有很多缺陷,这些缺陷可能只有你深刻地理解C语言本身的缺陷后才能明白,不多说了。

Ⅱ 我想开发一个编程语言,算法等等都没问题了,关键是如何把我的语言编译成EXE文件

1、其实这个过程比较复杂。很多高级语言都不是直接将源程序编译成机器码,而是将汇编语言作为目标语言,就是将源码翻译成等价的汇编代码,然后使用现有的汇编语言编译器将中间代码编译成PE格式文件。你没有必要再重复写一个汇编语言编译器,所以会省很多事。
2、即使翻译成汇编代码,也是有很多问题。一是汇编语言严重依赖硬件和平台,因此你需要根据需求,在不同平台上翻译不同的汇编代码;二是编译器的排错。一个编译器能够面对各种情况,无错误运行,本身就是一个奇迹;三是程序的优化问题,一个好的编译器要对生成的代码进行优化,否则编译出的程序不仅很大,而且运行效率低下;四是凡是程序设计语言,有必要给用户提供友好的调试环境,这个编起来也很复杂。
3、实际情况比我说的还要复杂得多。所以,能玩编译器的人不是很多,商品化的编译器更是凤毛麟角。

热点内容
巴法云服务器带宽 发布:2025-01-12 13:15:26 浏览:676
搭建国外服务器需要多少钱 发布:2025-01-12 13:08:01 浏览:827
我的世界mod服务器开荒 发布:2025-01-12 13:07:10 浏览:757
sql优化书 发布:2025-01-12 13:07:09 浏览:455
高校网站服务器搭建与维护论文 发布:2025-01-12 13:06:31 浏览:711
sqlserver实例没有 发布:2025-01-12 12:57:18 浏览:252
代码文件服务器地址怎么写 发布:2025-01-12 12:50:47 浏览:760
java中方法与 发布:2025-01-12 12:50:13 浏览:655
如何快速查找c语言编译时的错 发布:2025-01-12 12:49:56 浏览:32
看门狗上传病毒 发布:2025-01-12 12:32:54 浏览:327