标题:函数声明的理解
取消只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
 问题点数:0 回复次数:1 
函数声明的理解
函数声明在使用某个函数的时候,指示当前代码中存在上述的标号(函数名)定义
但是函数声明却并不能知道函数的功能
这个就是说函数只是声明,通知别人已经定义而已吗?
因为我创建了一个静态库,发现对于其对应的函数头文件.h中,我没有把lib中的定义的函数进行声明,却发现当我重新定义一个和这个lib中同名函数的时候,仍旧会发生冲突!而不管这个函数是否在.h中声明过没有.
另外,发现.h中的文件声明 没有使用extern 和有extern ,声明的效果是一样的,好奇怪。
搜索更多相关主题的帖子: 函数声明 定义 extern lib 效果 
2008-05-09 00:37
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 2# 的帖子
为什么 我发现对于 C代码得到的汇编程序,开头是???
然后只是中间一段位置才插入一些如下的汇编代码
00401129   add         esp,0Ch
0040112C   mov         dword ptr [mainret],eax
0040112F   mov         edx,dword ptr [mainret]
00401132   push        edx
00401133   call        exit (00401210)
$L17805:
00401138   mov         eax,dword ptr [ebp-14h]
0040113B   mov         ecx,dword ptr [eax]
0040113D   mov         edx,dword ptr [ecx]
0040113F   mov         dword ptr [ebp-20h],edx
00401142   mov         eax,dword ptr [ebp-14h]
00401145   push        eax
00401146   mov         ecx,dword ptr [ebp-20h]
00401149   push        ecx
0040114A   call        _XcptFilter (004013a0)
0040114F   add         esp,8
$L17807:
00401152   ret
$L17806:
00401153   mov         esp,dword ptr [ebp-18h]
00401156   mov         edx,dword ptr [ebp-20h]
00401159   push        edx
……
是不是这个汇编代码的执行,是从什么固定位置开始的 ?、
2008-05-12 23:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-213264-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.561438 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved