编译的时候文件已被编译器修改
1. c语言编译器会编译改变过的代码,而不会编译没有改动的代码。 我想知道它是怎么判断程序是否有呗修改过的
编译器要记录你的编译生成文件,比如obj、exe等的生成日期,发现与相关的文件如.c源文件、obj等日期旧时则选择对此部分重新编译。
特别地,它记录所有相关文件,比如你新修改了某头文件.h,编译系统会逐一比较所有使用这个.h文件的编译结果,如果发现时间旧了就重新编译它们。
2. c-free编译时出现文件所在的卷已被外部更改 因此打开的文件不再有效
例如
有一个c文件file.c,它的绝对路径是d:\c\file.c
文件file.c在c-free中被打开;
然后我又在电脑中用记事本把file.c打开,并修改保存;
这样你返回c-free中编辑时就会有这个警告
就是被在c-free中被打开的文件,又被另一个程序打开并修改了
3. keil显示文件被外部编译器改变是怎么回事
那时因为你的文件在keil项目保存后,通过其他方式(如记事本、UE、sourcesight等其他编辑器打开)编辑后保存了后,然后在keil再次打开这个工程中的文件时,就会有这样的提示,你可以选择载入先前的文件(即就是你keil工程最好保存是的文件),也可以选择载入现有文件(指你在通过其他编辑器修改保存后的文件)
我对keil 比较熟悉,呵呵
4. mfc程序中的res文件夹里的东西被改掉又改回去之后无法在编译器里编译resource了,怎么办
肯定是 resource.rc 在修改中导致格式不正确造成的。
最简单的办法是新建一个工程,生成一个新的.rc文件。
关闭VC,用文本编辑器同时打开这两个.rc文件,对照着改一下。
5. visual studio写完程序,编译以后,再改程序,编译器不编译改过后的程序
写完程序,启动 后,
(不是编辑模式了,)studio先将代码编译过来,语句错误时就停止编译生成并警告;
至到语言代码的文件里没有错误后,将所有代码编译转化并保存;
然后运行保存的程序,开始调试,出错后同样停止运行,
然后你可以修改语言代码的文件里的内容,如果没保存关闭后会提示;
警告等级(哪些类型属于错误,以及出错后停止运行并警告还是忽略) 可以在项目属性里设置,
生成exe 只有手动。
6. DEV-C++中c语言的文件编译 的时候自动生成了一个makefile.win的文件而且编译器在该文件中报错。
这不是在make文件中报错的,调试报错信息需要从最开头开始查看,你的main.c文件中有3个未定义的引用。分别是:initwindows、beginpaint、endpaint.还有一个指针没有初始化指向了0x0地址。所以程序编译被错误中断了,没有生成exe文件,所以make文件在执行exe文件时找不到目标。上面缺少的那些引用应该是用来绘制窗体的函数,应该是位于哪个系统头文件中,你的代码中应该是没有添加相应的头文件引用才导致上述问题的。另外,指针在使用之前一定要初始化,通过函数赋值以后一定要判断是否赋值正确(一般判断是否为NULL)
7. c语言!!编译的时候出现这个提弹窗,makefile.win已经改变,是否重新从硬盘读取。这是什么
主要原因可能是:1.在编译器外打开、加载或修改了所用文件。2.可能是引用或打开的路径不正确。3.某些语法错误时引起编译器对后面程序的错误解读,报出错误的警报信息。
可以尝试:1 关闭文件后重新,关闭编译器后重新打开项目。2.关闭其他打开该文件的软件或者编辑器 3.注释掉新修改部分的代码,排查错误。
8. 编译的时候显示“写出编译后的文件失败”怎么办
这个是易语言编译器的问题,多试很多次!不成功继续!试100次内保准有一次是成功的!(只是你做不到)为什么频率需要那么高?跟你说说原理吧,依我个人猜测这绝对跟杀软有关,杀软大多都是监视着桌面的一举一动的,有新文件生成都会先去扫描一下,如果有危害会自动搞掉(易语言刚编译的时候会生成一些文件,肉眼可能看不到,因为处理太快了,不过杀软是更快的,只要一出威胁代码之类都会干掉或阻止干扰易语言编译正常运作(当封装为exe的时候就不行了,正如编译失败),所以只要你的速度快得过杀软频率过高杀软也就放过了)
所以说解决方案:①关掉杀软,②在桌面新建个文件夹然后往里面编译
9. 我想修改一个lua文件,但是是编译后的,请问如何修改
这是因为你的反编译器的版本和当初编译那个Lua文件时的版本不一致。
你首先得知道你这个Lua文件是用哪个版本编译的,再去找对应版本的Lua反编译器。
什么Lua文件值得你花精力去反编译它啊?能自己搞就自己从头搞吧。