社区
C语言
帖子详情
如果一个函数是static类型, 那么别的.cpp 文件就无法用它了是吗??
cd7809
2002-11-27 05:40:33
比如: test.h中:
static bool test(char* szTemp);
那么, 在另一个cpp文件other.cpp中就算包含test.h,也用不了test(...)是吗?
谢谢!!!
...全文
171
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。
c++ primer第五版第6章答案
c++ primer第五版第6章答案
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与.
cpp
文件
双向调用实战示例
简介:在C++开发中,.c
文件
代表C语言代码,.
cpp
文件
代表C++代码。由于C++兼容C语言,二者可通过特定机制实现
函数
互调。本示例详细演示了如何使用extern “C”关键字消除C++名称修饰影响,实现C++调用C
函数
以及C调用C++成员
函数
的方法,并涵盖接口设计、对象生命周期管理及编译链接流程。项目适用于混合编程场景,如旧C系统集成C++功能或利用C库提升性能,帮助开发者掌握跨语言协作的核心技术。
C语言
70,036
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章