你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
源文件:由编程语言写出的原始文件。
目标文件:源文件经过编译汇编产生的文件,
可执行文件:目标文件 库文件经过链接得到
问题:
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文件;
源代码文件经编译或汇编后生成目标代码文件,其中不仅含有程序,还含有连接定位与调试等其他信息,一般为实现某一功能的程序模块,为二进制文件;
可执行文件由目标代码文件和库文件连接而成,是完整的可在目标处理器上加载执行的文件(需要确定程序加载地址),为二进制文件。
签到签到
源代码文件经编译或汇编后生成目标代码文件,其中不仅含有程序,还含有连接定位与调试等其他信息,一般为实现某一功能的程序模块,为二进制文件;
可执行文件由目标代码文件和库文件连接而成,是完整的可在目标处理器上加载执行的文件(需要确定程序加载地址),为二进制文件。
可执行文件包含着组成可执行程序的全部机器语言代码。