轻松编译
A. 如果能轻松编译LFS linux.好找工作吗,月薪能有多少呢
lfs还是一个比较成熟的东西, 会编译lfs,不代表你对linux掌握的很多。
上万不成问题那也是讲讲的。 工资上万的搞linux的人眼里,lfs应该算不上什么东西的, 根本没有必要去学习和研究
B. window内自带的C语言编译器怎么用
1、首先,输入【#include】。
注意事项:
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C. 轻松汇编怎么用
一步 基本的编辑功能
这里是介绍基本的编辑功能,就像在介绍Windows自带的记事本。 文件菜单: 新建:新建一个文件,快捷键为 Ctrl+N ; 保存:保存当前文件,快捷键为 Ctrl+S ; 打开:打开一个文件,快捷键为 Ctrl+O ; 退出:退出轻松汇编 ; 另存为: 把正在编辑的文件存为另外一个文件 ; 最近使用过的文件:在这里纪录了您最近使用过的文件,可以快速打开。如果 您不希望别人看到您编辑过什么程序,可以点击“清空全部纪录”。 编辑菜单: 全选:选定正在编辑的全部内容,快捷键为 Ctrl+A; 复制:复制选定的内容到剪贴板,快捷键为 Ctrl+C; 剪切:复制选定的内容到剪贴板,并删除所选定的内容,快捷键为 Ctrl+X; 粘贴:把剪贴板中的内容复制到编辑窗口,快捷键为 Ctrl+P; 删除:删除选定内容,快捷键为 Del; 撤消:撤消上一步操作,快捷键为 Ctrl+Z,但是注意只能撤消一次。 查找菜单: 查找:在所编辑的文件中查找字符串,快捷键为 Ctrl+F; 替换:在所编辑的文件中把一个字符串替换为另一个,快捷键为 Ctrl+R; 查找下一个:从当前光标起,查找下一个,快捷键为 F3;
第二步 编写一个汇编程序
编写第一个汇编程序。 打开轻松汇编就自动为您新建了一个模板,直接在上面添加数据定义和代码就可以了。 一般来说,都是先写堆栈段。输入“stacks segment stack”,用空格隔开关键字。然后按下回车键换行——您会看到,轻松汇编自动把刚才输入的那一行程序的格式整理好了。 第二行应该是堆栈的大小了,应该输入“db 128 p(0)”,输入“bd 128 p(0)”试试,会怎样?在换行时没有整理格式。如果您输入的汇编程序有拼写错误,轻松汇编会检测出来,并且拒绝整理错误行的格式,这时候您就可以避免这类简单而又隐蔽的错误。当然,如果您确定您输入的是正确的,而轻松汇编没有整理格式,或整理的格式不好看,请告诉我这个错误,不胜感激,联系方式见左侧小字。在您编程的过程中,左侧的导航栏会随时更新您的语法信息,可以通过导航栏来快速定位您的语法元素。 接着,把您所想要写的程序写完,进行下一步:编译、运行一个程序。 如果是以前写的程序,在轻松汇编中打开后,点击:运行-整理格式,轻松汇编会对整个程序格式进行整理。
第三步 编译、运行一个汇编程序
把您刚才写的那个汇编程序编译、运行一下,熟悉操作。 点击:运行-生成目标文件,轻松汇编就会自动生成目标文件,另外,根据您的设定(如何设定,请参见第四步),还会生成其他的文件。默认是生成交叉文件和映像文件,点击右上角的按钮就可以看到这两个文件(这两个文件的作用,请参见疑难解答)。 如果有语法错误,编译会失败,错误信息会显示在下面的窗口中,点击错误信息,错误行就会突出显示出来。 点击:运行-运行,轻松汇编就会会自动完成编译、链接、运行当前程序。在程序运行时是全屏方式,结束后变成窗口方式,不会退出。 点击:运行-调试,轻松汇编就会自动完成编译、链接、调试的工作,使用的是TD作为调试工具。 就这些了,因为在轻松汇编下编译、运行一个程序确实简单。 在汇编时还有其他的可能,那么,请进行第四步:让汇编变的更轻松。
第四步 让汇编变得更轻松
对轻松汇编进行个人设置,让它更符合您的习惯。 在轻松汇编中根据初学者的特点,提供了很有特色的功能,如果您不喜欢的话,可以关掉它,对于运行的参数,同样也是通过设置来改变的。下面我们一一介绍: 在设置窗体中: 格式设定:在这里的下拉框中有三个选项,全部大写、全部小写和不处理, 选定后的结果分别是在进行格式处理时对格式化结果的处理。 自动整理格式:选定后在换行的时候会对原来行进行格式整理,如果没有选定就不整理格式。 采用调试模式:选定后在编译时包括参数/zi,在链接时包括参数/v,这样生成的可执行文件比较大,包含了用TD调试时所需要的信息,可以实现源代码调试;如不选定,不能实现源代码调试,在调试的时候不太方便。推荐选定该选项。 编译生成Com文件:选定该选项后在链接时包括参数/t,如果你写的是一个com文件的汇编代码,那么就可以选定以生成一个com后缀的文件。在选定该选项后调试时不能实现源代码调试,所以最好在编写、调试的时候不选定,最后调试通过后再选定该选项生成com文件。如果不选定,即使是com文件的汇编代码也是可以编译通过,只不过生成的是一个Exe文件。推荐不选定。 自定义参数:就是自己提供TASM和TLink的参数了,如果你对TASM了解比较多,可以实现其他的参数功能,但是对于一般的学习者,并不需要自定义参数,以免造成程序运行时出问题。 程序格式:在这里控制格式整理的方式,您可以自己设置后看看效果。不过推荐用默认方式。 显示导航栏:选中后显示导航栏,否则不显示。 显示错误栏:选中后显示错误栏,否则不显示。推荐选中,因为不选中的话,有错误它也不会自动显示的。
编辑本段三,疑 难 解 答
交叉文件和映像文件是什么?
交叉文件和映像文件是编译过程和结果的详细显示。其中交叉文件是在第二遍扫描中建立的,映像文件是对可执行文件的说明,所以只有生成了可执行文件,才会有映像文件,但是只要不发生严重错误,就有交叉文件。 学会阅读交叉文件对于理解汇编原理更加重要,交叉文件说明如下: 1、编译后的机器代码和汇编语言的对应关系。 在交叉文件的主体部分,就是说明编译后的机器代码和汇编语言的对应关系的,分为三列,第一列是编译后机器代码在内存中的地址,第二列是编译后的机器代码,第三列就是你写的汇编语言和注释。要注意的是,在交叉文件中的数字全部都是用十六进制表示的,没有十进制表示的数字。 下面是一段交叉文件的原文: 000E B1 02 MOV CL,2 ;把2送到CL中 0010 F6 E9 IMUL CL ;CL中的数值和AL中数值相乘 0012 FE C0 INC AL ;AL中的数值加1 在第一列是对应指令在内存的地址,第一条指令“MOV CL,2”的起始地址是000E,占了两个字节(B1 02),所以第二条指令的起始地址是0010。 在第二列是编译后的机器指令,第一条指令“MOV CL,2”编译后的机器代码是“B1 02”,其中B1表示:1)是MOV指令;2)寻址方式是立即数寻址;3)使用的是CL寄存器。02表示操作数是02H,十六进制数2。第二、三条指令也是以此类推,查看一下指令格式就可以了。编译后的可执行文件里写的就是第二列的内容,您可以用UlTra Edit等十六进制编辑器打开看一看。 第三列就是被编译的汇编指令。 2.宏扩展情况。 在存在着宏扩展的部分,都用“1”标出,如下所示: 0024 E8 0035 CALL PINISET MOUTPUT CLINE ;输出CLINE 0027 BA 0001 R 1 MOV DX,OFFSET CLINE 002A B4 09 1 MOV AH,09H 002C CD 21 1 INT 021H 在这段程序中,事先定义了宏MOUTPUT: MOUTPUT MACRO PSTR ;输出PSTR MOV DX,OFFSET PSTR MOV AH,09H INT 021H ENDM 而CLINE是一个数据。 您可以看到,宏被扩展成的三条指令都用“1”标出来了。 3.错误列表。 在交叉文件的汇编语言的错误行的上面标出了错误原因、错误行、和错误类别,在交叉文件的最后,还列出了总的错误数。 4.段、子程序、宏、变量的清单。 在交叉文件的最后部分是对汇编程序中所有的段、子程序、宏、变量的清单,列出了它们的起始地址、值、类型等特征。 学会阅读交叉文件,可以对了解指令格式、编译原理有很大的帮助,而且通过阅读交叉文件,可以了解实际的宏扩展情况,有利于程序排错。
为什么语法错误的提示信息是乱七八糟?
轻松汇编调用的是TASM 5.0作为内核编译汇编程序的,错误信息也是通过TASM 5.0来截获的。为了简便安装,把TASM 5.0功能实现所需要的最少的几个文件附带安装了,它们是TASM.Exe,TLink.Exe,TD.Exe,RTM.Exe。 其中,TASM.Exe的版本是4.1,TLink.Exe的版本是7.1.30.1。如果发生了上述情况,很可能是被替换成了不同的版本,您可以再其他地方拷贝一个相同版本的过来。或者重新安装轻松汇编。现在网上很多TASM5就是轻松汇编所调用的。
为什么运行结果和汇编源代码不一致呢?
在有些情况下,会发生这种问题:修改了源代码以后再运行程序,运行的结果却是修改以前的,似乎修改的没有效果! 解决这个问题的办法是在修改源代码以后,都要先编译(Ctrl+F9),在编译通过后,再链接(F9),然后再运行或调试,否则修改就没有效果。 之所以会这样,是因为在轻松汇编中,编译只负责把汇编的源代码编译成目标文件(*.obj),而链接只负责把已有的目标文件链接成可执行文件(*.exe),而运行只负责运行已经存在的可执行文件,调试也只负责调试已经存在的可执行文件。这是符合在命令行下写汇编程序的规则的。 在这种情况下,如果你先打开一个汇编程序,第一次编译、链接、运行或调试,都很正常。接着,你修改了源代码,再运行,结果肯定是修改以前的,因为可执行文件还是按修改前的源代码生成的,链接一遍再运行,结果还是修改以前的,因为目标文件是按修改以前的源代码生成的,那由此生成的可执行文件自然也是按修改以前的代码生成的了。所以必须重新编译一遍再重新链接一遍,然后再运行或调试,就没问题了。
D. 如何在Dos下编译和运行java程序
第一:首先安装JDK。 第二:为了能使Java程序在dos下很方便的编译和运行Java程序,就要配置其运 行的环境变量,具体步骤如下: (1)在安装的目录下找到你所安装的JDK文件,在里面找到java.exe文件,复制其路径。 (2)鼠标右击我的电脑,打开属性面板单击高级菜单、选择“环境变量”。 (3) 在弹出的面板中找到“系统环境变量”,在其窗口选中变量名为Path的变量。 Path是路径设置命令,其功能是:设备可执行文件的搜索路径,只对文件有效。当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据Path命令所设置的路径,顺序逐条地到目录中搜索该文件;Path命令中的路径,若有两条以上,各路径之间以一个分号“;”开。 (4)单击“编辑”,在弹出的窗口中的变量值的最后面粘贴上你刚才找到的路径,中间用分号隔开,单击确定。这样你就可以在DOS下很轻松的编译和运行Java程序. 如果Path路径中前面的路径有别的JDK版本,则在DOS下运行的是路径比较前面的版本。 第三:编译Java程序生成“.class”文件,在DOS下,应用DOS命令找到你所编Java程序文件(假设文件名为HelloWorld.java)的根目录下输入命令:javac HelloWorld.java。如果生成。“.class”文件则编译成功。 第四:执行Java程序:接着上步操作输入:java HelloWorld;在命令提示符上会出现运行结果。
E. 如何编译OpenWrt
Openwrt 官方正式的发行版是已编译好了的映像文件(后缀名bin或trx、trx2),此映像文件可从Openwrt官方网站的下载页面中轻松获取到,连接地址为 OpenWrt官方网站。这些编译好的映像文件是基于默认的配置设置,且只针对受支持的平台或设备的。因此,为什么要打造一个自己的映像文件,理由有以下四点:
您想拥有一个个性化的配置OpenWrt(彰显个性,在朋友圈子里显摆显摆,开个玩笑);
您想在实验性的平台上测试OpenWrt;
您参与测试或参与开发OpenWrt的工作;
或者,最简单的目的就是为了保持自己的Openwrt为最新版本;
若想实现上述目的,其实很简单,按下述文字即可成功编译出一个您的Openwrt来。
准备工作
在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的:
一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如Ubuntu、Debian等);
确保安装了所需的依赖关系库, (在debian系统中就是安装各种需要的软件包)
OpenWrt源代码副本
首先, 开机登陆到支持编译Openwrt的操作系统(废话了)。实体机或者虚拟机(Vmware 或者 Qemu)里的操作系统都行,这里推荐使用Linux系统。 bsd和mac osx系统也可以编,但不推荐,且未验证是否可编译成功。下文假定您使用的是Debian操作系统,使用 apt-get 来管理包. 替代的选择是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安装所需要的各种软件包, 包括编译器,解压工具,特定的库等. 这些工作可以简单的通过键入以下命令 (通常需要root 或者是 sudo 权限),以root权限安装下列软件包(可能并不完整,会有提示,提示缺少即装就可以了):
32位(x86)请执行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev
64位(x86_64)请执行下列命令(多装了哪些库或软件包呢?请您仔细看一看哦):
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386
参考 本列表中 所列的编译环境所需要软件包或库。
某些依赖的为库或软件包也许操作系统中已经安装过,此时apt-get会作出提示(提示您忽略或重新安装的),别紧张,放轻松些,编译Openwrt不会像编译DD-WRT那样难的(至少本人是体会到了编译DD-WRT的难)。
最后下载一份完整的 Openwrt 源码到编译环境中。关于Openwrt的源代码下载,途径有二,一是通过 svn ,一是通过 git,建议使用 svn ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本,一个是用得较多的开发快照,俗称 trunk,二是稳定版,俗称 backfire。
安装Subversion
若你想通过svn下载源代码,你需安装 Subversion。Subversion,或称SVN, 是OpenWrt的project中用来控制版本的系统,它非常类似的 CVS的界面和使用条款。 执行下述命令即可安装SVN,很容易的:
# apt-get install subversion
Subversion安装完毕,通过SVN命令可获取得到一份OpenWrt纯净源代码。您还得创建一个目录以便存放获取得到的Openwrt源代码,要获取源代码你还得输入subversion命令来获取 (svn里这种操作称之为'check out') 。命令很简单的,继续看下去就能见到了,别着急,耐心点儿。
编译流程
编译专属于您的设备的特定Openwrt固件以一下五个步骤:
通过Subversion命令获得源代码;
更新(或安装) package feeds〔package feeds无法确切翻译,待译吧);
创建一个默认配置以检查编译环境是否搭建好了 (假如需要的话);
用Menuconfig来配置即将编译生成的固件映像文件的配置项;
最后开始编译固件;
下载源代码
最后,下载一份完整的OpenWrt源代码。你可选择:
下载稳定发行版,或
下载开发版 (俗称"trunk"版)。
使用发行版的源码
截止本文时, Openwrt公开发行的稳定版为 OpenWrt 10.03 "backfire"。此版本是最稳定的,但也许不包括最新更新的补丁或最新编写的出的新功能。
下述代码即举例说明了通过svn从brandkfire获得backfire源代码(此版本意思是从trunk分支的补丁也在backfire版本中了,即包含修复补丁):
# mkdir OpenWrt/
# cd OpenWrt/
# svn co svn://svn.openwrt.org/openwrt/branches/backfire
注解: 上述svn命令将在当前目录创建一个 OpenWrt/backfire/ 子目录,此目录包含此命令获取到的源代码。
您也可以通过下述命令,下载不含修复补丁的backfire的原版源码:
# svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03
使用开发版源代码
当前的开发版本分支(trunk)已包含最新的实验补丁。此分支或许还突破了Openwrt原来所不支持的硬件设备的限制哦,惊喜的同时也有风险存在。因此,编译trunk版,慎之~
# mkdir OpenWrt/
# cd OpenWrt/
# svn co svn://svn.openwrt.org/openwrt/trunk/
更多详细资料详见: https://dev.openwrt.org/wiki/GetSource.
跟进并更新源代码
因Openwrt的源代码随时都会变动,故此命令将确保您所获取得到的源码的最新性。下述假设您用的是backfire版本的源码:
## Here, backfire is the directory name of the current release branch you're tracking
# cd OpenWrt/backfire/
# svn up
'svn up' 命令用于更新SVN上更新了,但本地尚未更新的这部分源代码(本人实践证明此命令会将本地源码与SVN上的源码先比较,若SVN有更新才会下载更新的部分,很实用的一个命令)。如果未指定目标路径,则此命令将更新当前目录及当前目录的子目录内的源码。
Feeds下载
Feeds即为包含到你的OpenWrt环境中的额外软件包的索引之类的。(feed译名很多,莫衷一是,至2008年底为止,还没有一个十分通用而备受认可的中文译名;所以此文当中我们用英文feed来称呼)。 最主要的Feeds有以下三个:
'packages' - 路由的基本功能,
'LuCI' - OpenWrt默认的GUI(WEB管理界面), 及
'Xwrt' - 其他的GUI。
一般情况,你至少需要含 'packages' 和 'LuCI'两个Feeds。
下载完feeds之后, (为编译OpenWrt的recipies额外的预定义包) 您可以检查哪些feeds要包括在内。编辑在你的编译环境的根目录下的'feeds.conf.default'文件。
然后使用下列命令开始下载(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令):
# ./scripts/feeds update -a
在此之后,下载的软件包需要安装。亦即指的下边的命令啦。若路过下边的install命令则后续make menuconfig将无法成功执行!(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令):
# ./scripts/feeds install -a
只需编辑Feeds的配置文件或运行更新命令,即可很方便地更新或添加新的实验性的packages到源码中并编译到OpenWrt固件去。
注意:请老坛友及旧的新闻组成员们注意了,这一步取代了创建符号链接symlinks的老办法哦。
更新Feeds
诸如此类源码,你得定期更新Feeds。 通过如上相同的命令:
# ./scripts/feeds update -a
# ./scripts/feeds install -a
注意:若你清楚地知道你不需添加新的packages到menuconfig中去,那么你可在更新Feeds时跳过这一步。
生成配置
You may not have to make configration always after updating sources and feeds, but making it ensures that all packages from source and feeds are correctly included in your build configuration.
Defconfig
下一步是检查编译环境,若可进行编译则生成默认配置:
# make defconfig
若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可,不难的,细心点就行。
Menuconfig
menuconfig是一个基于文本的工具,它处理选择的目标(需要还是不需要)、编译生成软件包(openwrt下是IPKG格式)以及内核选项(编译成模块还是内核)等等
# make menuconfig
在你离开并保存配置文件(默认都是.config)后,将自动配置依赖关系,让你可以着手编译更新的固件。
大众可通过'menuconfig'这一简单的图形化的配置环境,非常轻松地编译出专属您本人的OpenWrt固件。
可以用'menuconfig',以开发的意图来编译OpenWrt的固件,为自己(个人)创造一个结构简单但是功能强大的环境。(上句实在难翻译,只能意译。并且也请大家都学习下编译OP固件,让以OP固件盈利的人丢掉那肮脏的饭碗!)
Menuconfig或多或少有些难以说明的地方,即使是最专业的配置,也可以寻求帮助并加以解决。 需要你指定何种目标平台,要包含的package软件包和内核模块等均需要你指定,配置标准的过程中会包括修改:
目标平台(即路由器何种架构,BCM呢还是AR均可选择)
选择要包含的package软件包
构建系统设置
内核模块
Target system is selected from the extensive list of supported platforms, with the numerous target profiles – ranging from specific devices to generic profiles, all depending on the particular device at hand. Package selection has the option of either 'selecting all package', which might be un-practical in certain situation, or relying on the default set of packages will be adequate or make an indivial selection. It is here needed to mention that some package combinations might break the build process, so it can take some experimentation before the expected result is reached. Added to this, the OpenWrt developers are themselves only maintaining a smaller set of packages – which includes all default packages – but, the feeds-script makes it very simple to handle a locally maintained set of packages and integrate them in the build-process.
假如你需要LuCI, 要到Administration 菜单里,在LuCI组件的子菜单下, 并选择: luci-admin-core, luci-admin-full, and luci-admin-mini组件包。
假如你不需要PPP,你可到Network菜单下取消对它的选择,以便编译时不包含此组件。
Menuconfig用法: 确保这些组件包是以 '*'星号标记而不是 'M'标记。
如果你是以星号 '*'标记该组件包, 则该组件包将编译进最终生成的OpenWrt固件中。
如果你仅以 'M'标记该组件包, 则该组件包将不会编译进最终生成的OpenWrt固件中。
The final step before the process of compiling the intended image(s) is to exit 'menuconfig' – this also includes the option to save a specific configuration or load an already existing, and pre-configured, version.
Exit and save.
Source Mirrors
The 'Build system settings' include some efficient options for changing package locations which makes it easy to handle a local package set:
Local mirror for source packages
Download folder
In the case of the first option, you simply enter a full URL to the web or ftp server on which the package sources are hosted. Download folder would in the same way be the path to a local folder on the build system (or network). If you have a web/ftp-server hosting the tarballs, the OpenWrt build system will try this one before trying to download from the location(s) mentioned in the Makefiles . Similar if a local 'download folder', residing on the build system, has been specified. The 'Kernel moles' option is required if you need specific (non-standard) drivers and so forth – this would typically be things like moles for USB or particular network interface drivers etc.
编译固件
万事具备,只欠东风,通过下面简单的make命令来编译:
# make
在多核电脑中编译
具有多核CPU处理器的电脑进行编译,使用下述参数可令编译过程加速。 常规用法为 <您cpu处理器的数目 + 1> – 例如使用3进程来编译 (即双核CPU), 命令及参数如下:
# make -j 3
后台编译
若你在这个系统内编译OpenWrt的同时还处理其他,可以让闲置的I/O及CPU来在后台编译固件 (双核CPU):
# ionice -c 3 nice -n 20 make -j 2
编译简单的基本的软件包
当你为OpenWrt开发或打包软件包,编译简单的基本的软件包可以很轻易地编译该软件包 (例如, 软件包cups):
# make package/cups/compile V=99
一个在Feeds里的软件包大约是这样子的:
# make package/feeds/packages/ndyndns/compile V=99
编译错误
如果因某种不知道的原因而编译失败,下面有种简单的方法来得知编译到底错在哪里了:
# make V=99 2>&1 |tee build.log |grep -i error
上述编译命令意为:V99参数,将出错信息保存在build.log,生成输出完整详细的副本(with stdout piped to stderr),只有在屏幕上显示的错误。
举例说明:
# ionice -c 3 nice -n 20 make -j 2 V=99 CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
|tee build.log |egrep -i '(warn|error)'
The above saves a full verbose of the build output (with stdout piped to stderr) in build.log and outputs only warnings and errors while building using only background resources on a al core CPU.
一键编译
即使用脚本来编译Openwrt固件。许多朋友编译Openwrt是用的脚本来编译的,详见: https://forum.openwrt.org/viewtopic.php?id=28267
生成的固件在哪
编译成功后所生成的固件文件位于bin目录下,可用如下命令查看:
# cd bin/
# ls */
清理
编译OpneWrt时你可能需要一个清洁干净的编译环境。 以下操作有利用编译工作:
清洁
清洁trunk/ 目录,在编译过程中使用“make clean”命令即可。 此命令将删除bin目录和build_dir目录下的所有文件及文件夹。
## See CAUTION below
# make clean
F. 学C语言用什么编译器好
C-Free 还行,我就是用这个 写C、C++程序 ,小巧,不到20M,真的不错~~~~~~~
C-Free 5.0 专业版
C-Free是一款支持多种编译器的专业化C/C++集成开发环境(IDE)。利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。C-Free中集成了C/C++代码解析器,能够实时解析代码,并且在编写的过程中给出智能的提示。C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。
G. .NET下所有语言都可以轻松被反编译吗
JVM和CLR下面的所有语言都是先编译为字节码的,相对于传统的C++,容易被反编译容易被反编译的不仅仅是C#,还有Java,F#,VB.net,事实上,C#已经可以通过native编译直接生成机器码运行了(.net native技术)这样一定程度上可以提高反编译的难度
H. Microsoft Visual Studio 2005下能直接编译CS文件吗
应该可以吧。有一个main就可以,你可以建一个控制台的工程就可以了
I. 编程语言排行榜是怎样的
2019年排行:Java,C,python,C++,C#,PHP。
1、Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
4、C++
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
5、C#
C#是微软公司发布的一种面向对象的、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
J. 如何制作CHM类似的软件的软件
使用QuickCHM软件轻松编译CHM格式的文件
谈起CHM格式的文件,可能无人不晓,因为几乎所有的软件,现在都用CHM格式的文档制作软件帮助文件。另外,有很大一部分电子图书也是用CHM格式编译的。其实,编译CHM格式的文件很简单,下面就为大家介绍一款制作CHM文件的利器——QuickCHM。
软件名称:QuickCHM
软件大小:1460KB
下载地址:http://www.skycn.com/soft/6785.html
在介绍QuickCHM之前,有必要对CHM的格式作个简单说明。CHM文件格式是微软1998年推出的基于HTML的帮助文件系统,它代替了早先的WinHelp帮助系统,能在Windows 98或NT及以上版本的操作系统中直接运行。
编译CHM
QuickCHM未注册时,只能编辑最多20个节点的项目,在制作CHM文件前,最好把要编译进CHM中的文件编辑成HTML网页文件,CHM格式的文件支持所有的网页元素,所以你可以随心所欲地在Dreamweaver等网页编辑软件中编辑HTML文件。QuickCHM自带一个简易的网页编辑器,利用它可以编辑一些简单的网页,一般的做法是在Dreamweaver中做好网页,然后在QuickCHM中进行局部的修改。
需要注意的是编译进CHM文档中的文件最好都放在同一个文件夹中。
启动QuickCHM,在菜单栏执行“文件→新建”命令,新建一个“hhp”项目。切换到“目录”页,在菜单栏执行“主题→导入→添加文件夹”,导入待编译的文件夹中的文件,注意,在弹出的“添加文件夹”对话框中,可以使用过滤器,防止图片等某些类型的文件进入目录。在默认的情况下,进入目录中的各节点即主题都是以网页标题显示的(如图1),也可以在“系统选项”中设置为以文件名显示。接下来的任务,就是编辑目录和网页,下面就以这两个方面作简单的介绍。
编辑目录:
目录的编辑主要是重命名主题,修改主题图标,排序主题,嵌套主题,新建主题和删除主题,这些都可以利用右键快捷菜单和“目录”页上的按钮完成。
编辑网页:
QuickCHM集成了一个所见即所得的网页编辑器,利用QuickCHM提供的网页编辑工具箱(如图1),可以完成大部分的网页操作。切换到“源文件”页,可以对HTML源代码进行直接修改。和多数网页编辑软件一样,切换到“预览”页,可以对当前网页实时预览。
图1
利用同样的方法,还可以给帮助系统做一个“索引”页。
目录和网页编辑完成以后,就可以输出CHM文档了,不过在输出前也可以把它保存为一个“.hhp”项目,以便日后继续编辑。点击工具栏上的“编译”按钮,编译完成,如图2所示,这是利用上述的方法制作的“瑞星杀毒软件2004版”的帮助系统,从图中可以看出,这个帮助系统的“面板”上只有“目录”页,没有“索引”页。
图2
事实上,CHM文件的这个阅读平台即“浏览窗体”的所有部分都可以在“编译”前进行修改和定制,若你做进CHM帮助系统的各网页间都能相互导航,我们甚至可以隐藏或关闭整个“面板”。
在菜单栏上执行“选项→项目选项”命令,弹出“参数”对话框,如图3所示,在这里可以设定“主页”、“默认页”,显示或隐藏工具栏按钮和标题,显示或隐藏面板及面板上的目录、索引等,在这里还可以设定目录的表现方式和整个窗体的外观,添加“闪屏”(启动时一个一闪而过的图片,相当于软件的启动画面)等,当然了,以上的所有设置必须在“编译”前设置才能看到效果。
图3
反编译CHM
QuickCHM不仅能把HTML网页、文本文件、图片等编译为一个CHM文件, 而且还能反编译一个CHM文件,也就是说,利用QuickCHM,可以释放CHM文件中的HTML文件、文本文件、图片文件等资源,并且它能够恢复源文件的全部目录结构和文件名,以便帮助我们得到源文件进行资料恢复或二次编辑。
启动QuickCHM,在菜单栏执行“文件→反编译”,在弹出的对话框中选择要进行反编译的CHM文件以及反编译得到的HTML文件和图片等其它文件资源的保存位置,点击“确定”,反编译即可完成,同时保存HTML文件和图片等其它文件的文件夹被打开。