A. vc如何编译整个工程
首先文件-新建-win32 Console Application,填写工程名称,确定,在弹出的对话框选第一个,由此建立一个新的工程
在工程-添加工程-文件(files),将源文件全部添加进来
最后编译(ctrl+F7),没有错误就运行(ctrl+F5)
B. 什么是逆向工程什么是反编译可以根据已经封装好的程序软件进行破解分析出源代码吗
逆向工程就是根据已有的程序来反推出源代码以及原来的工程设置,反编译就是具体的将已经编译好的程序进行反向工程,从而获取部分源代码。一般来说,逆向工程或者反编译是无法百分之百获得源代码的,只能从一定程度上来自源代码进行猜测,因此根据已经封装好的程序软件来进行破解分析出源代码的可能性并不大,逆向工程的意义并不在于破解源代码,而是在于了解软件本身的设计,对于复杂的程序软件而言破解源代码的可能性几乎为零。
C. 根据提供的Linux 操作系统源码中Makefile 结构,分析在工程中多级目录中存在着多个makefile 时,编译的顺
多级目录的编译顺序也是有Makefile控制的, 如下这个例子(3个子目录, 一个Makefile), 子目录的编译顺序由这个Makefile控制.
sub_a sub_b sub_c Makefile
D. C++工程编译
是用的Dev-Cpp么?
先新建一个工程,再将源程序拷入,不过Dev-cpp的工程格式与VC的区别比较大,多试几次就知道 了
E. EDA中什么情况下可以直接对顶层文件进行编译
QuartusII 是Altera公司开发的功能最强大的PLD编译工具,全面取代MAX+PLUS
使用步骤:
一、建立工程.
1、“File”→“New Project Wizard”开始新工程的建立设置。‘NEXT’
2、指定project的路径,和project的名称,顶层文件的名称(一般与工程名相同)。
3、指定project中要include 的文件。
4、选择project中要使用的一些EDA TOOLS。
5、选择所使用的器件的家族“family” 和具体型号。
6、‘finish’ 完成工程的设置。
二、输入文件. 在工程中新建设计文件:图形文件“Block Diagram/Schematic File”,Verilog语言文 件“VerilogHDL File”
1、完成工程文件的输入,若为顶层文件,则文件名应该保存为与工程名相同。
2、编译设置:“Assignment”→“Compiler Settings Wizard”→“Next”
3、根据编译窗口的提示修改错误。
4、编译后会生成编译报告“Compilation Report”会分成如下几项:
(1) Analysis&Synthesis语法检查,把大电路转成较小的元件
(2) Fitter 器件资源利用情况,引脚分配情况等
(3) Assembler 连线各元件
(4) Timing Analyzer 时间分析
三、仿真. 完成工程文件的编译、综合、时间、分析后就可以建立波形仿真文件进行功能仿真
1、建立仿真文件
“File”→“New”→“Other Files”→“Vector Waveform File”→“OK”
2、选择输入输出引脚
Edit→“Insert Node or Bus”→“Node Finder”,在“Filter”处选择“Pins:all”,再按下“ >>”将所有选中的引脚添加到“Seleted Nodes”框,点“OK”→“OK”完成引脚添加。可通过右键 修改引脚的显示方式、属性、初始值等参数。
3、仿真时间、栅格的设置
Edit→‘End Time’ 设置仿真结束的时间, ‘Grid Size’设置每个栅格表示的时间。仿真时间是 以建立仿真文件时给出的结束时间为准,仿真设置“Wizards”中设定的End Time没用。
4、仿真编译设置
‘Assignments’→‘Wizards’→‘Simulator Settings Wizard’→选择当前要仿真得文件
仿真文件做好后还要将其设置为当前仿真文件,才可以开始仿真。因为有时一个工程需要建立多个 仿真文件,这就需要通过设置确定仿哪个文件了。在选择仿真类型“Type of simulation”时,“ timing”代表考虑延时,“functional”表示功能型的仿真。
5、先编译后仿真
‘Processing’→‘Start Compilation&Simulation’
6、仿真结束后会生成仿真报告“Simulation Report”
仿真结果并不是出现 在所建立得仿真文件中,在仿真报告中有独立的仿真结果。
仿真的结果总是与当前的工程文件相对应,工程文件改变后要重新仿真后才有意义。
四、将工程模块化,利用图形设计文件建立更大的工程
模块工程文件(“Block Diagram/Schematic File”或“Verilog HDL File”)编译仿真成功后就可以 将其模块化,然后在更高层次将各个模块级联起来,构成更大得工程。
1、模块化
‘File’→‘Creat/Updata’→‘Creat Symbol Files for Current File’ 然后编译器会自动将当前工程完整得编译一遍,然后生产图形模块,放在存放当前工程的文件夹里。
2、更大的工程
(1)建立工程文件
“File”→“New”→“Device Design Files”→“Block Diagram/Schematic File”→“OK”
(2)输入元件
右键→‘Insert’→‘Symbol’→可以在库文件中选,也可以通过“浏览”将已经建立图新模块的 工程加载进来。
(3)连线
F. 根据提供的Linux操作系统源码中的Makefile结构,分析在工程多级目录中存在多个makefile文件时编译的顺序如
书上56页有讲
make的递归过程指的是:在Makefile中使用“make”作为一个命令来执行本身或者其它makefile文件的过程。递归调用在一个存在有多级子目录的项目中非常有用。例如,当前目录下存在一个“subdir”子目录,在这个子目录中有描述此目录编译规则的makefile文件,在执行make时需要从上层目录(当前目录)开始并完成它所有子目录的编译。那么在当前目录下可以使用这样一个规则来实现对这个子目录的编译:
subsystem:
cd subdir && $(MAKE)
其等价于规则:
subsystem:
$(MAKE) -C subdir
G. C工程编译求助
1选择atmel的at89c51就可以(keil让你选择设备其实是与keil软件的一些附加功能连在一起的,不影响编译器连接器的使用)2头问件别搞错了。3头文件里没有的寄存器声明自己在程序里声明(如果要使用这些寄存器)4编译出程序,生成的hex文件应该是能使用的。5但是如果你要使用keil的其他功能的话,还要看情况。
H. MCS-51 工程编译后错误
很明显,你的变量占用的内存太多,不够用了。要解决这个问题有以下几种方式:
1、扩展内存
2、减少变量
3、尽可能将一些常量设置为code类型,占用程序区而不是数据区。
I. GCC编译器要怎么实现对一个工程的编译
gcc 如果要编译一个project, 需要使用makefile。你需要查找一下makefile 关键字,了解一些makefile相关的知识。