社区
C语言
帖子详情
如果一个函数是static类型, 那么别的.cpp 文件就无法用它了是吗??
cd7809
2002-11-27 05:40:33
比如: test.h中:
static bool test(char* szTemp);
那么, 在另一个cpp文件other.cpp中就算包含test.h,也用不了test(...)是吗?
谢谢!!!
...全文
151
10
打赏
收藏
如果一个函数是static类型, 那么别的.cpp 文件就无法用它了是吗??
比如: test.h中: static bool test(char* szTemp); 那么, 在另一个cpp文件other.cpp中就算包含test.h,也用不了test(...)是吗? 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eric_uugames
2002-11-29
打赏
举报
回复
static 的问题,
考虑静态变量,static是为了实现 值全局性 和 访问的局部性 而已。
编译器实现时考虑到实际使用情况和技术难度就固定了这种值全局性和访问的局部性。所以一个static的函数也具有值全局性、访问局部性,故而不能被访问
兄弟们讨论了下这么觉得,只是希望能有所启示,不求分
fjwjq
2002-11-28
打赏
举报
回复
封装性
tuxw
2002-11-28
打赏
举报
回复
语法如此!游戏的规则嘛!
nullw
2002-11-28
打赏
举报
回复
这是C/C++语言的规定
chenbinghui
2002-11-28
打赏
举报
回复
奇怪!
有没有谁可以说出真正的原因?
我估计不是信息隐蔽的问题!
golinjin
2002-11-28
打赏
举报
回复
这是C/C++语言的规定,就象为什么要到24岁才能结婚呢?法律的规定嘛!同样只要记住在C语言中,如果一个函数或变量声明为static,那么在其它模块中是无法引用的。
cd7809
2002-11-27
打赏
举报
回复
我试过了, 不能用, 可是为啥呢??
leasun
2002-11-27
打赏
举报
回复
在C语言中,如果一个函数或变量声明为static,那么在其它模块中是无法引用的。这是在C中不多的信息隐蔽的方法
Bandry
2002-11-27
打赏
举报
回复
不知道对不对,说错了别打我,还要给我分哦
Bandry
2002-11-27
打赏
举报
回复
不是这样的吧,应该可以用的。只是你不能再使用extern来声明它为外部函数。比如说你在other.cpp中包含了test.h,但你还有一个cpp文件testit.cpp想用test函数,而你想用extern bool test(char *szTemp)来声明,则会出错,但你在testit.cpp中再次包含test.h,那么它还是可以用的,不过编译器也许会报错的,因为你包含了两次test.h。
20150613.
CPP
语言
尹成讲师,带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、算法、设计模式、数据库、大数据高并发检索、
文件
重定向、多线程同步、进程通讯...
c++的.h和.
cpp
文件
.h
文件
是不对外隐藏的, .
cpp
文件
在编译后对外隐藏---这是最本质的特点和区别 .h和.
cpp
文件
本质上是没有什么区别的,.h
文件
实现的功能是声明本
文件
或.
cpp
文件
中需要被别人使用或知道的变量、
类型
、
函数
及宏定义等。.h
文件
就像是
一个
接口,具体的实现可以在.
cpp
中也可以在.h中。.
cpp
中的
函数
或变量即便是全局的,在没有其他.
cpp
文件
使用的情况下,也可以不写在.h中。 下面参考:h...
在.
cpp
和.h
文件
的使用 #include
首先,我们可以将所有东西都放在
一个
.
cpp
文件
内.然后编译器就将这个.
cpp
编译成.obj,obj是什么东西?就是编译单元了.
一个
程序,可以由
一个
编译单元组成,也可以有多个编译单元组成.如果你不想让你的源代码变得很难阅读的话,就请使用多个编译单元吧.(
一个
函数
不能放到两个编译单元里面,但两个以上就可以分别放在
一个
单元,也就是
cpp
里面)那么就是
一个
.
cpp
对应
一个
.obj,然后将所有的obj链接起来(通过
一个
叫链接器的程序),组成
一个
.exe,也就是程序了. 如果
一个
.
cpp
要用到另
一个
.c.
.h和.
cpp
文件
的区别
关于头
文件
和源
文件
的分别 首先,我们可以将所有东西都放在
一个
.
cpp
文件
内. 然后编译器就将这个.
cpp
编译成.obj,obj是什么东西? 就是编译单元了.
一个
程序,可以由
一个
编译单元组成, 也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话, 就请使用多个编译单元吧.(
一个
函数
不能放到两个编译单元里面,但两个以上 就可以分别放在
一个
单元,也就是
cpp
里面) ...
c语言中.h
文件
和.
cpp
文件
解析
理论上来说
cpp
文件
与头
文件
里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头
文件
中写
函数
体实现,任何
一个
cpp
文件
包含此头
文件
就可以将这个
函数
编译成目标
文件
的一部分(编译是以
cpp
文件
为单位的,如果不在任何
cpp
文件
中包含此头
文件
的话,这段代码就形同虚设),你可以在
cpp
文件
中进行
函数
声明、变量声明、结构体声明,这也不成问题!!! 那为何一定要分成头
文件
与
cpp
文件
呢? ...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章