懂c语言编译器的来 我就是想问别的语言怎么直接调用c语言编译器来编译代码? 谢谢 急

如题所述

第1个回答  2013-08-25
需要通过操作系统来调用,需要创建新的进程,然后传递命令行进去,执行gcc调用。简单地说,调用者是把任务交给操作系统来完成的。当然,不能进行系统调用的语言,是无法进行的。追问

那易语言可以调用c语言吗

追答

调用C语言的话……跨语言调用需要用中间件了。也就是基于二进制的代码共享协议。比如你可以把C语言写的东西编译成一个dll,然后在易语言里加载这个dll即可调用里面的函数等。

追问

我是说如何用易语言调用c语言编译器来用易语言自身编译代码

我现在用易语言做了一个c语言代码翻译器,把中文版的c代码转换成真正的c代码,怎么能够在软件中加一个功能,就是直接编译已经翻译好的c代码

我说的太乱了!不过我就是问问!我现在急需啊!谢谢

追答

大体思路:
1、把翻译好的代码保存到.c文件中。
2、创建CreateProcess进程,调用gcc.exe编译刚才保存的文件。记得将进程的输出(一堆编译信息)重定向到文件,然后读取来显示给用户。
3、第二步已经编译生成exe了,如果想运行的话,再创建进程,运行exe吧。

还有,那个易语言自身是不可能编译C代码的。这种东西以前做过,虽然不是易语言,但套路都是一样的,不仅是编译C代码,其它的也一样。我们只是做个界面,编译工作还是交给gcc的。

追问

哦哦 谢谢 麻烦你了

你qq多少 加你

第2个回答  2013-08-25
你自己查下易语言里有没有执行命令的API,或者创建进程的API
然后直接执行 cl.exe(VC) 或者 gcc.exe(GCC) 将编译命令代入运行
对于多文件的项目 可以先用易语言生成makefile 然后 按上面方式执行代入相关makefile文件追问

具体怎么做 这也

追答

根据编译器输入规范 调用相关函数 这还有怎么做的
你先去看下编译指令怎么用的,
哦上面有个地方补充下
makefile的话 gcc用 make.exe vc应该是 cmake.exe

你比如 编译a.c文件,最简单就是
gcc a.c -o a.exe

那么你在易语言里要使用API启动 gcc.exe 然后 把 a.c -o a.exe 作为参数代进去

追问

我主要就是不会编译指令 求求告诉我把
谢谢

追答

这个你自己看手册,一句两句哪讲得清楚啊

追问

比如我用gcc,exe编译了a.c,编译的程序放在哪了 我怎么找不到啊

追答

GCC的当前运行目录下罗,老兄,这种东西自己测试下就好了

追问

额 真的麻烦你了 呵呵
不过我的c编译器编译后找不到exe文件了
奇怪
?也不知道编译到哪了

本回答被提问者采纳
相似回答
大家正在搜