如何在程序中生成一个可执行文件?

iamfancy 2001-05-11 08:55:00
我准备作一个类似于编译器的东西,需要程序生成可执行(Exe)文件。
是用我自己的程序生成而不是某公司提供的编译器。
请问有什么办法?
...全文
202 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamfancy 2001-05-30
  • 打赏
  • 举报
回复
哈,怎么忘了给分了
iamfancy 2001-05-20
  • 打赏
  • 举报
回复
cyclamen(牛虻):
我怎么没注意到你有解释程序?哈,给我一份好吗?
bianchenkr@21cn.com
向陆松 2001-05-19
  • 打赏
  • 举报
回复
cyclamen老兄,可以把你的解释程序源码给我一份吗?
我对这方面很感趣。谢谢。xianglusong@263.net
bodies 2001-05-17
  • 打赏
  • 举报
回复
难上加难,我见过别人做,都放弃了
ydogg 2001-05-17
  • 打赏
  • 举报
回复
编译器不好写啊。。。。。
seesi 2001-05-17
  • 打赏
  • 举报
回复
佩服佩服啊
AntGhazi 2001-05-17
  • 打赏
  • 举报
回复
iamfancy(边城狂人) :精神可佳。
如果只是单单的生成exe文件,那太简单了——保存的时侯把后缀名设为.exe就行了,西西。(说笑)
如果还需要执行的话,那你需要精通pe文件格式。直接保存就行了,tangl_99(Min-Kyeong)兄的方法最好,省了不少事情。
如果你要做编译器的话,那………
我做不出来!
cyclamen 2001-05-17
  • 打赏
  • 举报
回复
我手上就写了一个解释程序
但是遗憾的是现在还不支持函数。
不是编译型的。
你可以参考gcc的代码
但是太庞大了,没有一点编译原理的基础的确很难看懂
iamfancy 2001-05-17
  • 打赏
  • 举报
回复
谁能提供 PE 文件格式方面的资料
iamfancy 2001-05-14
  • 打赏
  • 举报
回复
谁能提供一个简单的源程序说明这个问题吗?
iamfancy 2001-05-13
  • 打赏
  • 举报
回复
谢谢大家,不知道什么地方能找到一个简单的源程序呢?
我对理论的东西不太有耐心。
joknan 2001-05-13
  • 打赏
  • 举报
回复
"将汇编代码转化为机器码这"一步可以通过VC调用MASM编译器编译代替.
rabbit75 2001-05-13
  • 打赏
  • 举报
回复
建议看看PE文件格式
alamb 2001-05-13
  • 打赏
  • 举报
回复
gz
duz 2001-05-13
  • 打赏
  • 举报
回复
你需要非常清楚汇编代码,PE文件格式,当然还有如何将汇编代码转化为机器码。当然PE文件里包含资源,初始化的全局变量,调试信息,代码,重定位信息,输入输出表等等
joknan 2001-05-13
  • 打赏
  • 举报
回复
把C++源文件编译成ASM源文件.
用VC调用MASM或TASM编译.

我的想法很笨,关注!

高程书里有编译原理,要不要看一下!

HashCodeWithJava 2001-05-13
  • 打赏
  • 举报
回复
你可以把要生成的EXE程序做成解释程序,在里面定义个"TEXT"的资源IDR_TEXT1。用来装程序代码.
然后像修改游戏一样找到这个EXE程序中IDR_TEXT1的地址,在另一个所谓的编译器程序中通过这个地址向这个EXE文件中的IDR_TEXT1写解释代码.
最后在这个EXE程序中,你可以用以下代码得到IDR_TEXT1,即程序的解释代码.

HINSTANCE hInst = AfxFindResourceHandle((LPCTSTR)IDR_TEXT1, "TEXT");
HRSRC hRsrc = ::FindResource(hInst, (LPCTSTR)IDR_TEXT1, "TEXT");
HGLOBAL hGlobal = LoadResource(hInst, hRsrc);
char *pdata=(char*)LockResource(hGlobal);

pdata就是你的程序代码.EXE解释程序解释代码就是它了.
blackwind 2001-05-13
  • 打赏
  • 举报
回复
关注!
神奇的太阳 2001-05-13
  • 打赏
  • 举报
回复
关注
向陆松 2001-05-13
  • 打赏
  • 举报
回复
我也想知道啊,
好难的,最好去找一个编译器原码看看。
加载更多回复(3)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧