工程编译流程
‘壹’ 如何用VC++从建立工程开始到最后编译完成,具体步骤是什么
文件-新建-工程-Win32 Console Application(起个名)-确定下去
里面有个Sourcefile点右键新建C++sourcefile(也可以点击文件-新建-文件-c++sourcefile)就行了
在这个里编程序,然后编译执行(菜单栏有个“!”符号)执行之后就弹出来一个对话框了,首先你得编写个程序啊
‘贰’ 如何用javac 和java 编译运行整个Java工程
1、将编译好的比如Demo.java文件放到某个盘下(比如D盘)
2、进入控制台(window+R键---->输入cmd)
以上完成整个在控制台运行java程序的流程。
‘叁’ 单片机:在keil里从新建工程——书写程序——编译——生成HEX文件,步骤是这样的越详细越好!拜托了各位大
第1步:打开Keil uVision2/3
第2步:新建工程
project->new project
将弹出 creat new project框,写入工程名称,例如 test。为了便于集中管理建议新建一个文件夹(上面第二个图标)。
点击确定后 弹出一个芯片选择项,你可以选一个。例如选atmel AT89C51。很多单片机,上面可能没有列举,我们任意选一个即可,51单片机选AT89C51代表即可。
然后 弹出一个框,选择“否”
第3步:新建文件。
file--new
将弹出一个文本框,你可以写入程序。例如
#include <reg51.h>
main()
{
P1=0XAA;
}
然后保存这个文件
file--save
弹出框save as 填写你要保存的文件名。例如main.c。注意一定要带上后缀.c。切记
第4步:加载程序。把我们编写的c文件加载进入
看到左边 source group1,点击右键,选择倒数第四项 “add files....”进入add框,选择你刚才保存的main.c文件,然后add
看到 左边source group1下面是不是加载上main.c了
第5步:编译。
编译前要进行一个重要的操作。生成HEX文件。
右边 target 1 右键弹出框,找到output,再找到creat hex fi:前面复选框选中 OK
开始编译了,
project--build target或者按F7或者看到上面图标(一个图标有两个方向向下的箭头)
编译的时候,你会发现最先面编译结果,0 Errors
恭喜你,你已经成功编译了程序。
打开你先前建立的test文件夹,你会发现有个test.hex文件
记住步骤,慢慢就很熟练了,用快捷方式或图标更方便
祝好
‘肆’ 编译程序的工作过程
编译程序必须分析源程序,然后综合成目标程序。首先,检查源程序的正确性,并把它分解成若干基本成分;其次,再根据这些基本成分建立相应等价的目标程序部分。为了完成这些工作,编译程序要在分析阶段建立一些表格,改造源程序为中间语言形式,以便在分析和综合时易于引用和加工(图1)。
数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。
分析部分源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。词法分析由词法分析程序(又称为扫描程序)完成,其任务是识别单词(即标识符、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。语法分析程序是编译程序的核心部分,其主要任务是根据语言的语法规则,检查源程序是否合乎语法。如不合乎语法,则输出语法出错信息;如合乎语法,则分解源程序的语法结构,构造中间语言形式的内部程序。语法分析的目的是掌握单词是怎样组成语句的,以及语句又是如何组成程序的。语义分析程序是进一步检查合法程序结构的语义正确性,其目的是保证标识符和常数的正确使用,把必要的信息收集和保存到符号表或中间语言程序中,并进行相应的语义处理。
‘伍’ VC6.0编译器编译步骤
先建立工程项目,编写源文件,在确保程序正确后,编译(compile)->运行(Run)
‘陆’ )如何编译工程生成.hex文件,该文件有何作用
一条接一条的指令。
打开keil找到自己编程过的程序比如11.c文件。选择Target后面的按键。然后选择targetoutput。在CreatExecutable中可以看到下面有两行字,在第二行字的Creathexfile的前面打一个对号。确认,再重新编译下就能看到有hex文件生成,就可以开始网单片机传送所需要的程序了。
它其实是这么组成的,数据地址加数据长度加实际数据组成的,而实际数据就是BIN文件的组成部分。所以,bin文件和hex是可以互相转换的,但hex肯定比bin大。
‘柒’ Android APK编译流程
apk 是Android Package的简写, 在平时的开发过程中,通过点击 Run app 按钮 或者 在命令行中输入
这样Android Studio就会启动构建流程,最终输出一个我们想要的APK。
直达官网介绍
对于小白来说,上面一张图已经可以解释apk的构建过程了,不过对于Andoid开发者而言还需要了解一些更详细的构建过程。
详细的对应步骤 和 使用工具如下:
资源文件(res文件夹下的文件)通过 AAPT(Android Asset Packaging Tool)打包生成R.java类(资源索引表)、.arsc资源文件 和res文件。
resources.arsc 是一个App的资源索引表,通过R.java 文件 和 resources.arsc 可以定位到资源的内存地址,resources.arsc文件的作用是通过一样的ID,根据不同的配置索引到最佳的资源显示在UI中。
AIDL (Android Interface Definition Language), 是Android接口定义语言,是Android提供的IPC (Inter Process Communication,进程间通信)的一种独特实现。
如果有aidl文件,这个阶段会生成对应的Java接口文件。
R.java文件、工程源码文件、aidl.java文件, 在这一步通过javac生成.class文件。
源码.class文件和第三方jar或者library通过dx工具打包成dex文件
Android系统的Dalvik虚拟机的可执行文件为DEX格式,所以这里会将上一步中生成的.class文件 和 引用的第三方jar等过程中的.class 一起通过dx工具打包成dex文件
apkbuilder工具会将所有没有编译的资源、.arsc资源、.dex文件打包到一个完成apk文件中
tips:
apksigner工具会对未签名的apk验证签名。得到一个签名后的apk(signed.apk)
apksigner 是google 退出的V2签名方式
Jarsigner 是之前一直使用的V1签名方式
可以通过在命令行中输入apksigner --help来获取详情信息,如果没有特殊需求,使用下面命令即可完成签名
release mode 下使用 aipalign进行align,即对签名后的apk进行对齐处理
所谓对齐,主要过程是将APK包中所有的资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问apk文件时的速度会更快。对齐的作用主要是为了减少运行时内存的使用。
zipalign是一个android平台上整理APK文件的工具,它对apk中未压缩的数据进行4字节对齐,对齐后就可以使用mmap函数读取文件,可以像读取内存一样对普通文件进行操作。如果没有4字节对齐,就必须显式的读取,这样比较缓慢并且会耗费额外的内存。
参考文章:
Android-Studio配置构建
浅谈Android打包流程
apk打包流程
END!
‘捌’ 在visual C++ 6.0集成环境下,C++程序的编辑、编译、运行的步骤
在visual C++ 6.0 环境下编写C++程序需要经过建工程、建文件两个步骤。按照如下进行,细心,就可以:
一、先建一个工程
打开visual C++ 6.0,
在菜单栏里选 文件/新建(File/new),
选择Win32 Console Application,
输入工程名Projectname(随便起),
选择程序保存目录Location,
ok
Finish
ok
二、建一个文件
在菜单栏里选 文件/新建(File/new),
选择C++ Source File,
填文件名File,
存储路径默认,
ok
三、在C++ Source File中输入代码,编辑完毕后,点击编译器右中上角的编译图标(在像感叹号一样的图标左侧),运行(点像感叹号一样的图标)。
‘玖’ 请问大家怎么在命令行中编译Eclipse 中的整个工程
在命令行中编译Eclipse 中的整个工程:
用命令行模拟eclipse中Android Project编译流程
1、新建一个Android Project,目前的目录结构如下图:
对应的命令:
在工程目录下执行以下命令:
生成resources.ap_:
aapt package -f -S res -I ~/android-sdk-linux/platforms/android-18/android.jar -A assets/ -M AndroidManifest.xml -F bin/resources.ap_
生成classes.dex:
dx --dex --output=bin/classes.dex bin/classes
生成HelloWorld_unsigned.apk:
apkbuilder bin/HelloWorld_unsigned.apk -v -u -z bin/resources.ap_-f bin/classes.dex -rf src -nf libs
签名apk,使用debug key,别名为androiddebugkey,密码是android:
jarsigner -verbose -keystore ~/.android/debug.keystore-signedjar bin/HelloWorld_signed.apk bin/HelloWorld_unsigned.apk androiddebugkey
对齐apk:
zipalign -v 4bin/HelloWorld_signed.apkbin/HelloWorld.apk
移除临时apk:
rm bin/HelloWorld_unsigned.apk bin/HelloWorld_signed.apk
安装apk:
adb installbin/HelloWorld.apk
5、点击右键,Android Tools->Export Signed Application Package
同样的步骤,只是签名使用的自己创建的数字证书(release版),最后的apk不保存在bin目录下,而是由用户指定。