当前位置:首页 » 编程软件 » 编译链

编译链

发布时间: 2022-01-10 07:54:29

⑴ C语言中的编译/生成/调试/链接/运行等等这些术语具体都是什么意思啊我都搞昏了,求高人指点

把程序翻译成过渡语言
... ...估计是编译链接的综合翻译
可捏碎了一句一句运行
把过渡语言整合成操作系统认识的语言
操作系统开始读你这本书了

⑵ 怎么查看Android编译时候交叉编译链工具位置

经常搞嵌入式开发的朋友对于交叉编译环境应该并不陌生,说白了,就是一组运行在x86 PC机的编译工具,可以让你在PC机上编译出目标平台(例如ARM)可识别的二进制文件。Android平台也提供了这样的交叉编译工具链,就放在Android的NDK开发包的toolchains目录下,因此,我们的Makefile文件中,只需给出相应的编译工具即可。
废话就先说到这,直接上例子,我们目标是把下面这个math.c文件编译成一个静态库文件:
#include <stdio.h>
int add( int a , int b ) {
return a+b;
}
你需要编写一个Makefile文件,这里假设你的Android ndk被安装在 /opt/android/ndk 目录下,当然,你可以根据自己的实际情况修改Makefile中相关路径的定义,Makefile文件示例如下:
# Makefile Written by ticktick
# Show how to cross-compile c/c++ code for android platform
.PHONY: clean
NDKROOT=/opt/android/ndk
PLATFORM=$(NDKROOT)/platforms/android-14/arch-arm
CROSS_COMPILE=$(NDKROOT)/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
CC=$(CROSS_COMPILE)gcc
AR=$(CROSS_COMPILE)ar
LD=$(CROSS_COMPILE)ld
CFLAGS = -I$(PWD) -I$(PLATFORM)/usr/include -Wall -O2 -fPIC -DANDROID -DHAVE_PTHREAD -mfpu=neon -mfloat-abi=softfp
LDFLAGS =

⑶ linux下怎样配置bjam的编译链

一般是用的GNU的那一套工具链 比如你写了一个源码为main.c 然后gcc main.c即可,生成的a,out为可执行的ELF文件。 如果你需要了解GCC的详解资料,最好读一下它的man pages

⑷ 汇编语言的那个编译链接 的详细过程 每一步骤

LZ请跟着我的操作走

1.将写好的汇编代码保存为1.asm
2.将1.asm复制到c盘下
3.点开始(即左下标那个windows图标),找到运行,或(附件中的命令提示符)
4.找到运行后,输入cmd 或 command
5.进入后输入cd c:\
6.输入masm 1;(1后面有分号),然后回车
7.输入link 1;然后回车
8.cls清屏然后回车
9.输入1.exe,然后回车
10.完成

至于怎么debug
步骤:
1-8同上
9.输入debug 1.exe,然后回车
10.完成
至于debug 中的 'r' 'd' 't' 自己上网找大把

我的系统是win 7,
你的masm 和 link debug 要放在C:\Windows文件夹
PS: 若有不明白的地方,可以追问

⑸ arm-eabi编译链和arm-none-linux-gnueabi编译链有什么区别及使用对用

链接工具命名:
arch-vendor-(os-)abi

1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI)
用于编译ARM架构的u-boot、linux内核、linux应用等
2、arm-none-eabi
用于编译ARM架构的裸机系统(包括linux的 boot、kernel)
3、arm-eabi
Android ARM 编译器

⑹ 交叉编译链应该安装到哪个目录下

创建目录以及环境变量
在当前用户目录下创建target-project文件夹,在该文件夹下创建mips-mole文件夹,在mips-mole文件夹下创建三个文件夹:build-tools,kernel,tools,最后,在build-tools文件夹下创建build-gcc,build-boot-gcc,build-glibc,build-binutils文件夹。命令如下:
$ cd ~
$ mkdir -p ./target-project/mips-mole/{kernel/,tools/,build-tools/{build-gcc,build-boot-gcc,build-glibc,build-binutils}}
$ tree ./target-project/mips-mole/

观察目录结构,如下图:

使用脚本构建环境变量,脚本内容如下图:

注意修改/home/用户名,修改正确后,使用source使脚本生效
$ cd target-project
$ chmod +x mips.sh
$ source mips.sh

可以使用echo査看相关变量名以观察环境变量是否生效。
最后把linux-2.6.38.tar.bz2下载放置在kernel文件夹下,binutils-2.22.tar.gz,gcc-4.6.2.tar.gz,glibc-2.14.tar.gz,glibc-ports-2.14.tar.gz,gmp-5.0.4.tar.gz,mpc-0.9.tar.gz,mpfr-3.0.1.tar.gz下载放置在build-tools文件夹下。

⑺ 程序的编译链接过程

stdio.h 只是一个函数声明的头文件, 实现在已经编译好的库文件中,一般情况 IDE 会自动连接标准库,不需要你管。

⑻ 交叉编译链设置环境变量的作用是什么

作用是以后你在编译的时候不需要在把所有地址都填进去了 方便。。
nfs是用来共享文件的,首先安装
sdk软件工具开发包

⑼ 如何在linux中安装一个编译链

用rpm安装

⑽ c++ 编译 链接是怎么回事

compile和link是大多数语言从原代码生成可执行程序的两个步骤。

之所有有这两个步骤因为几乎任何一个程序都不是用一个原文件写出来的。compile是先针对单独原文件进行处理。link是把compile处理的结果组合成一个完整的可执行文件。

其实C/C++完全也可以一步成型,不需要compile和link两个步骤,但是那样的后果就是:一,每次生成可执行程序,必须翻译全部源代码;二,C语言的执行库(printf, scanf这些)必须都以源代码形式存在。这怎么样也说不过去吧。

另外头文件不属于compile和link过程,头文件是预编译过程的文件。

C/C++语言的完整编译过程是

一、预编译

处理#define #if #include这类#开头的语句,这些称为预编译指令。这个过程中会把.h文件和.c/.cpp文件组合成最终交给compile过程的原文件。这个原文件是不包含任何#开头的语句的。所有#define定义的宏也会被替换。

二、编译
把上面那个原文件编译成.o或者VC里是.obj文件。这个文件保存了机器码化的函数、函数的描述、全局变量的描述、乃至段的描述等等。

三、连接
把可执行程序需要的所有的编译过程产生的.o或者.obj文件组合到一起。(这里也包括.lib文件,.lib文件件本质上就是打包的.obj文件集合)。另外连接过程还会组合一些其他数据,比如资源、可执行文件头等等。

热点内容
萝卜干存储 发布:2024-09-20 17:21:37 浏览:714
苹果手机如何迁移软件到安卓手机 发布:2024-09-20 17:21:34 浏览:691
查看服务器ip限制 发布:2024-09-20 16:56:27 浏览:388
p搜系统只缓存1页为什么 发布:2024-09-20 16:48:51 浏览:838
上网的账号和密码是什么东西 发布:2024-09-20 16:31:31 浏览:612
安卓手机王者荣耀如何调超高视距 发布:2024-09-20 16:31:30 浏览:428
安卓G是什么app 发布:2024-09-20 16:23:09 浏览:81
iphone怎么压缩文件 发布:2024-09-20 16:08:18 浏览:356
linux查看用户名密码是什么 发布:2024-09-20 16:03:20 浏览:744
mac执行python脚本 发布:2024-09-20 15:58:52 浏览:779