你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【1.26签到】每日问答——解释源代码文件、目标代码文件...
[复制链接]
苏柚
提问时间:2016-1-26 08:33 /
赞
0
收藏
0
评论
117
分享
发布时间:2016-1-26 08:33
请先
登录
后回复
117个回答
斜阳
回答时间:2016-1-26 08:36:48
a8a.1 32b0c
本帖最后由 斜阳__ 于 2016-1-26 08:39 编辑
源文件:由编程语言写出的原始文件。
目标文件:源文件经过编译汇编产生的文件,
可执行文件:目标文件 库文件经过链接得到
赞
0
评论
回复
支持
反对
yygy3748
回答时间:2016-1-26 09:29:59
a0a.1 32b0c
源代码文件编译成目标代码文件,再由连接器连接为可执行文件
问题:
unsigned int Arr[5][4] = {
{ 1, 2, 3, 4},
{ 5, 6, 7, 8},
{ 9,10,11,12},
{13,14,15,16},
{17,18,19,20}
};
//把数组Arr分成一个二维的数组,为TArr[4][3]
unsigned int (*TArr)[2] = (unsigned int (*)[2])Arr;
unsigned int col = 0; //列
unsigned int row = 0; //行
for(row = 0; row < 20; row++)
for(col = 0;col < 1;col++)
printf("TArr[%d][%d] = %d\n",row,col,(unsigned int (*)[1])TArr[row][col]);
输出结果是什么?
评分
参与人数
1
ST金币
+10
收起
理由
苏柚
+ 10
查看全部评分
赞
0
评论
回复
支持
反对
yimao111
回答时间:2016-1-26 13:07:56
a0a.1 32b0c
可移植性的本质
答案是编译器。编程语言编写的程序首先要被编译器编译成目标代码(0、1代码),然后在目标代码的前面插入启动代码,最终生成了一个完整的程序。所以编程语言的可移植性依赖于它们的编译器是否强大,是否在多个平台上都有这种编程语言的编译器。例如C编译器在大约40种系统上可用,包括从8位微处理器的计算机到Cray超级计算机。
要注意的是,程序中为访问特定设备(如显示器)或者操作系统(如windows xp 的API)的特殊功能而专门编写的部分通常是不能移植的。
综上所述,一个编程语言的可移植性强不强取决于1.不同平台编译器的数量 2.对特殊硬件或操作系统的依赖性
赞
0
评论
回复
支持
反对
aszrf
回答时间:2016-1-26 09:02:26
a0a.1 32b0c
源代码文件是用编程语言(如C)编写的程序文件,为ASCII文件;
源代码文件经编译或汇编后生成目标代码文件,其中不仅含有程序,还含有连接定位与调试等其他信息,一般为实现某一功能的程序模块,为二进制文件;
可执行文件由目标代码文件和库文件连接而成,是完整的可在目标处理器上加载执行的文件(需要确定程序加载地址),为二进制文件。
赞
0
评论
回复
支持
反对
creep
回答时间:2016-1-26 08:39:50
a0a.1 32b0c
赞
0
评论
回复
支持
反对
lisingch
回答时间:2016-1-26 08:40:23
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
james816
回答时间:2016-1-26 08:41:54
a1024a.1 32b0c
我來签到
赞
0
评论
回复
支持
反对
anny
回答时间:2016-1-26 08:42:41
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
zhwd102198
回答时间:2016-1-26 08:44:43
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
zhoupxa
回答时间:2016-1-26 08:48:25
a0a.1 32b0c
源代码文件是用编程语言(如C)编写的程序文件,为ASCII文件;
源代码文件经编译或汇编后生成目标代码文件,其中不仅含有程序,还含有连接定位与调试等其他信息,一般为实现某一功能的程序模块,为二进制文件;
可执行文件由目标代码文件和库文件连接而成,是完整的可在目标处理器上加载执行的文件(需要确定程序加载地址),为二进制文件。
赞
0
评论
回复
支持
反对
lyp05401
回答时间:2016-1-26 08:50:48
a0a.1 32b0c
本帖最后由 lyp05401 于 2016-1-26 08:54 编辑
源代码
文件中包含着程序员使用任何语言编写的代码。
目标代码文件包含着
机器语言
代码,它并不需要是完整的程序代码。
可执行文件包含着组成可执行程序的全部
机器语言
代码。
赞
0
评论
回复
支持
反对
adlu
回答时间:2016-1-26 08:51:09
a1024a.1 32b0c
签到
赞
0
评论
回复
支持
反对
378897036
回答时间:2016-1-26 08:53:51
a0a.1 32b0c
学习了
赞
0
评论
回复
支持
反对
回到未来~
回答时间:2016-1-26 08:56:00
a1024a.1 32b0c
8楼正解…………
赞
0
评论
回复
支持
反对
DDbear
回答时间:2016-1-26 08:57:47
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
Tcreat
回答时间:2016-1-26 09:00:33
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
wtliu
回答时间:2016-1-26 09:03:12
a1024a.1 32b0c
2楼正解!
赞
0
评论
回复
支持
反对
1
2
3
4
5
6
7
8
/ 8 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
源文件:由编程语言写出的原始文件。
目标文件:源文件经过编译汇编产生的文件,
可执行文件:目标文件 库文件经过链接得到
问题:
unsigned int Arr[5][4] = {
{ 1, 2, 3, 4},
{ 5, 6, 7, 8},
{ 9,10,11,12},
{13,14,15,16},
{17,18,19,20}
};
//把数组Arr分成一个二维的数组,为TArr[4][3]
unsigned int (*TArr)[2] = (unsigned int (*)[2])Arr;
unsigned int col = 0; //列
unsigned int row = 0; //行
for(row = 0; row < 20; row++)
for(col = 0;col < 1;col++)
printf("TArr[%d][%d] = %d\n",row,col,(unsigned int (*)[1])TArr[row][col]);
输出结果是什么?
评分
查看全部评分
答案是编译器。编程语言编写的程序首先要被编译器编译成目标代码(0、1代码),然后在目标代码的前面插入启动代码,最终生成了一个完整的程序。所以编程语言的可移植性依赖于它们的编译器是否强大,是否在多个平台上都有这种编程语言的编译器。例如C编译器在大约40种系统上可用,包括从8位微处理器的计算机到Cray超级计算机。
要注意的是,程序中为访问特定设备(如显示器)或者操作系统(如windows xp 的API)的特殊功能而专门编写的部分通常是不能移植的。
综上所述,一个编程语言的可移植性强不强取决于1.不同平台编译器的数量 2.对特殊硬件或操作系统的依赖性
源代码文件是用编程语言(如C)编写的程序文件,为ASCII文件;
源代码文件经编译或汇编后生成目标代码文件,其中不仅含有程序,还含有连接定位与调试等其他信息,一般为实现某一功能的程序模块,为二进制文件;
可执行文件由目标代码文件和库文件连接而成,是完整的可在目标处理器上加载执行的文件(需要确定程序加载地址),为二进制文件。
签到签到
源代码文件经编译或汇编后生成目标代码文件,其中不仅含有程序,还含有连接定位与调试等其他信息,一般为实现某一功能的程序模块,为二进制文件;
可执行文件由目标代码文件和库文件连接而成,是完整的可在目标处理器上加载执行的文件(需要确定程序加载地址),为二进制文件。
源代码文件中包含着程序员使用任何语言编写的代码。目标代码文件包含着机器语言代码,它并不需要是完整的程序代码。
可执行文件包含着组成可执行程序的全部机器语言代码。