㈠ tc 以汇编格式输出编译结果 怎么办
你dir sum.*看看什么结果,另外tcc编译的是目标文件,后缀.obj,不是exe文件
㈡ 为什么我的TC2.0 在dos界面使用tcc 编译文件出现Error test3.c 1: Unable to open include file 'stdio.h
还是用XP的吧,不然就算成了EXE文件,也可能不能运行,,
实在想在win7的话,,如果不涉及到图形的话,可以用TCC。。又小又正常,,
㈢ 怎么在命令行里把两个文件编译和链接起来书上说是tcc 1.c 2.c但不行
你是在linux下编译不,如果是那应该是gcc,不是tcc。
㈣ 如何看待《自己动手写编译器,链接器》一书大量抄袭开源编译器 TCC
对于编译器来说,核心是定义的语言,从这个意义上讲,SCC编译器属于原创内容当然就谈上上抄袭,人家有这个版权声明也算合理,不过似乎没什么用,因为源代码可以公开下载,实事上就是开源了。
其实我们读者更关心一本书对我们自身是否有用,听朋友说现在编译器开发工程师起薪20k以上,要真能学会这门技术对我来说还是很有诱惑力的,毕竟国内真正写过完整编译器,链接器的人还是凤毛麟角,能掌握这门技术还是很吃香的。
㈤ 如何读取tcc.exe编译文件时的错误信息
我用C#写的 首先你需要把turbo c的系统环境变量(path)设置一下
public string RunCmd(string command)
{
Process p = new Process();
//Process类有一个StartInfo属性,这个是ProcessStartInfo类,包括了一些属性和方法,下面我们用到了他的几个属性:
p.StartInfo.FileName = "cmd.exe"; //设定程序名
// p.StartInfo.Arguments = "/c " + command; //设定程式执行参数
p.StartInfo.UseShellExecute = false; //关闭Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向标准输出
p.StartInfo.RedirectStandardOutput = true; //重定向标准输出
p.StartInfo.RedirectStandardError = true; //重定向错误输出
p.StartInfo.CreateNoWindow = false; //设置不显示窗口
p.Start(); //启动
p.StandardInput.WriteLine("tcc " + command); //用tcc命令将文件进行编译 ,command是文件路径
p.StandardInput.WriteLine("exit");
cmdend();
return p.StandardOutput.ReadToEnd(); //从输出流得到命令行结果
}
private void cmdend()
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
p.Start();
p.StandardInput.WriteLine("cmdend");//cmdend.bat 文件里面内容 taskkill /f /im cmd.exe
}
㈥ 网贷TCCFC文件是哪个平台
没听说话哦,小平台,小心被骗哦,
㈦ 在c语言编译中出错求大侠指教使用TCC+uClibc中%f不能替换小数,而且算式中出现小数也总是出错
代码贴上
采纳哦
㈧ c语言编译tc2.0怎么用
拷贝一些给你,一般编译器要注意的就是include目录和lib目录,还有就是编译器调用的tcc,tlink之类的要在路径内。不过简单的菜单还是学一下吧,学编程还是需要一些英语的。
⒈首先要确保名为turboc.CFG的文件与TCC.EXE位于同一
目录下如同在C:\TC目录下。turboc.CFG的全部内容是
-IC:\TC\INCLUDE
-LC:\TC\LIB
它的作用是告诉TCC.EXE,.h文件和.lib文件在哪里。
⒉最简单的情形——当只需要编译连接一个C源文件
设含主函数main()的文件名为mfile.c(下同)
则用以下命令之一可使编译、连接"一步到位":
① tcc -f87 mfile.c <回车>
② tcc mfile.c <回车>
③ tcc mfile <回车>
命令①的效果优于命令②③因为 -f87 启动了协处理器
从而使最终得到的可执行文件mfile.exe代码短,速度快
命令②③的效果是用软件仿真协处理器的8087指令代码
既长速度且慢。当然如果机器上没有协处理器就只能采
用命令②或③了。若源文件的扩展名是c,则只须输入文
件的主名,小数点和'c'一并省略,故命令②③效果相同
【注】如果C源文件的扩展名不是c,则又分两种情况:
若无扩展名(例如:仅有主名mfile)则编译连接命令应为
tcc -f87 mfile. <回车>
别忘了末尾那个小数点!
若有扩展名(例如:mfile.cpp)则编译连接命令应为
tcc -f87 mfile.cpp <回车>
⒊较复杂的情形——数个C源文件编译后连接为一个程序
设除了源文件mfile.c外,还有1.sub和2.fun两个源文件
则此时"一步到位"的既编译又连接的命令如下:
tcc [-f87] mfile[.c] 1.sub 2.fun <回车>
以上含方括号[]的项表示可选择项(下同)。该命令的效
果是顺序编译这些C源文件因而先后生成以下目标文件
mfile.obj,1.obj,2.obj 随后连接并生成 mfile.exe
换言之以上命令的效果等价于下面所列命令序列的效果
tcc -c mfile[.c] <回车>
tcc -c 1.sub <回车>
tcc -c 2.fun <回车>
tcc [-f87] mfile.obj 1.obj 2.obj <回车>
应当指出:-f87 开关对于编译不起作用,但在连接阶段
将引导连接器TLINK.EXE与库文件 C:\TC\LIB\FP87.LIB
连接而不是缺省时的模拟库文件 C:\TC\LIB\EMU.LIB。
⒋更复杂的情形——C主文件和汇编模块连接为一个程序
设除源文件mfile.c外,还有汇编模块sub.asm和fun.asm
此时"一步到位"的既编译、汇编又连接的命令如下:
tcc [-f87] -B mfile[.c] sub.asm fun.asm <回车>
以上命令的效果等价于下面所列命令序列的效果:
tcc -c mfile[.c] <回车>
tasm -Mx sub[.asm] <回车>
tasm -Mx fun[.asm] <回车>
tcc [-f87] mfile.obj sub.obj fun.obj <回车>
⒌内存模式——Tiny,Small,Compact,Medium,Lagre,Huge
对应的开关是 -mt, -ms(缺省), -mc, -mm, -ml, -mh
注意该开关对于编译和对于连接都是有意义的。例如:
tcc -ml mfile[.c] <回车>
等价于这样2条命令:
① tcc -ml -c mfile[.c] <回车>
② tcc -ml mfile.obj <回车>
命令①中的 -ml 告诉编译器:代码和数据都是"远"的。
命令②中的 -ml 告诉连接器:连接MATHL.LIB和CL.LIB
⒍混合模式编程。例如:总体上是SMALL模式,但希望调用
按LARGE模式编写的函数。这是可以做到的,关键在函数
声明语句要强调代码和数据的 far 属性。 有这样一个
具体例子。在MS-Fortran4.0的库LLIBFR7.LIB中有个名
为CIXTOMX.OBJ的模块,其中定义了4个"远"函数。用C
语言编程调用这4个函数的关键是正确的函数原型声明
extern void far fmsbintoieee(float far*,float far*);
extern void far dmsbintoieee(double far*,double far*);
extern void far fieeetomsbin(float far*,float far*);
extern void far dieeetomsbin(double far*,double far*);
这样声明后,即使用 -ms 进行编译连接也能正常运行。
完整的程序见 D:\FOR4.0\ 目录下的
MS.C,CIXTOMX.OBJ,IXTOMX.OBJ,MS.EXE,ML.C,ML.EXE。
⒎连接阶段如何用TLINK.EXE完成。对于
tcc -f87 mfile.obj sub.obj fun.obj <回车>
在缺省的SMALL模式下也可以用以下命令实现连接:
TLINK c0S mfile sub fun,mfile,nul,maths fp87 cs <回车>
同理对于
tcc -ml mfile.obj sub.obj fun.obj <回车>
则相当于执行下列命令:
TLINK c0L mfile sub fun,mfile,nul,maths emu cs <回车>
其中启动代码即C的初始化程序C0S.OBJ或C0L.OBJ可以
在C:\TC\LIB\下找到,它们的源程序在C:\TC\STARTUP\
目录下——该目录中的MAIN.C程序也值得关注。
㈨ 为何使用TCC编译时没有编译错误的显示
呵呵,winxp/win2k/win2003中cmd、command都是模拟DOS环境。
而Turbo C2.0出品时为DOS5.0左右,那时还没win98呢。
至于cmd/command对DOS模拟得怎么样,那是另一回事了。
winxp/win2k/win2003原则上是不支持真正的DOS的。
要让Turbo C2.0不出错,最好是在真正的DOS下进行。
你可以用安装虚拟机,如VMware等来安装真实DOS来进行TC2的学习。(安装win98并进入到DOS下,或安装DOS 6.0/DOS 7.0)
㈩ tcc命令编译文件名问题
DOS的限制,不能用长文件名
用VC++6.0就没这个限制了
linux上的gcc也没这个限制