如何在MS-DOS而不是Borland上手动编译C语言程序
我需要在 MS-DOS 中编译一个程序。我有Borland编辑器,我可以使用Alt + F9编译程序,但是它在后端做什么?我想在 MS-DOS 中编译它。我正在尝试这样做:
cd c:\tc\bin
tcc -o hello.exe hello.c
其中 hello.c
是我的文件,hello.exe
是我想要生成的文件。它不起作用。我应该怎么办?如何从 MS-DOS 手动编译 .cpp
文件?
I need to compile a program in MS-DOS. I have the Borland editor, and I can compile the program using Alt + F9, but what does it do at the backend? I want to compile it in MS-DOS. I’m trying this:
cd c:\tc\bin
tcc -o hello.exe hello.c
where hello.c
is my file, and hello.exe
the file I want to produce. It's not working. What should I do? And how do I compile a .cpp
file manually from MS-DOS?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果我没记错的话,Borland/Turbo C 编译器的命令行选项看起来不像 gcc 选项。您应该尝试
tcc /?
获取命令行帮助。If I remember correctly, Borland/Turbo C compiler's command line options didn't look like gcc options. You should try
tcc /?
for a command line help.因此,我认为您应该为 C 程序输入
tcc hello.c
,为 C++ 程序输入tcc -P hello.cpp
。So, I think you should type:
tcc hello.c
for C programs andtcc -P hello.cpp
for C++ programs.我相信这些事情一定有效:
我不知道为什么
我认为我们不能在
tcc
命令行提示符上为 .exe 文件命名,但这在海湾合作委员会是可能的。我对TCC不太了解。如果我找到了,我会让你知道的!只需看看这些Tiny C 编译器参考文档 。这是我在谷歌上找到的。谷歌搜索会让你变得更强大,所以当你不知道的时候,继续谷歌搜索。
I believe these things must work:
I don’t know why the
I don't think we can give a name to the .exe file on the
tcc
command line prompt, but it's possible in GCC. I don’t know about TCC much. If I find it, I will let you know it!Just take a look at these Tiny C Compiler Reference Documentation. This is what I found on Google. And googling makes you more powerful, so keep on googling the things when you don’t know.
根据 Falken 教授的回答
tcc file.c
<-- will compile in Ctcc file.cpp
<-- will compile in cpptcc file.ext where .ext是除 cpp 以外的任何内容,将在 C 中编译除非使用 --P,否则使用 cpp 来编译它,在这种情况下使用 .cpp,即使扩展名是 .c
我在 VM 中运行 TCC 并且不能从那里复制/粘贴到这里。但是你的测试应该找到与我相同的结果,如果不是,那么也许我犯了错误,但是你可以自己测试一下这个在 C 中工作而不是 CPP 中工作的代码,以及在 CPP 中工作而不是 C 中工作的代码。然后你可以进行实验更改扩展名,以及是否使用 -P。
以下代码仅适用于 C
conly.c
(一位 C++ 专家告诉我以下示例,适用于 C 而不是 C++,因为 C 允许 void* -> T* 转换。C++ 不支持)
以下代码仅适用于 C++
cpponly.cpp
Further to Prof Falken's answer
tcc file.c
<-- will compile in Ctcc file.cpp
<-- will compile in cpptcc file.ext where .ext is anything other than cpp, will compile in C Unless --P is used then cpp is used to compile it, in which case .cpp is used, even if the extension is .c
I am running TCC in a VM and can't copy/paste from there here. But your test should find the same result as mine, if not, then perhaps I erred, but you can test for yourself given this code that works in C and not CPP, and code that works in CPP and not C. You can then experiment with changing the extension, and using -P or not.
The following code works in C only
conly.c
(A C++ expert told me re the following example, works in C and not C++, because C allows void* -> T* conversions. C++ does not)
The following code works in C++ only
cpponly.cpp
节省。
创建 .exe 文件的输出。选中那个框。
save.
to create output to .exe file. Check that box.