忽然发现最基础的都忘了:函数外可以做什么事情?

seai seai 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
/*linux c main.c*/
#include <stdio.h>
/*
这里可以做什么事?可以写任何代码?那它们在何时执行?
printf("试试看!\n");
如果这是一个.so共享库呢,在共享库中,函数外也可以写任何代码?那它们在何时执行?
/*
int main(void)
{
printf("随便玩的!\n");
}

问题是由一个在多线程环境中被调用的so共享库引出的:
因为要在多线程环境中使用,为了保证其中的函数线程安全,我使用到了pthread_mutex_t、pthread_key_t,但pthread_mutex_t和pthread_key_t本应该在主线程中一次初始化的,我不确定在函数外这样写,是否正确。。。。。。
/*myfuns.c*/
static pthread_key_t key;
pthread_key_create (&key, NULL);//pthread_key_delete(key);又该写在哪呢?
/*其他全局变量*/
/*my_fun被线程调用*/
void my_fun(){
/*这里访问了全局变量*/
}
...全文

相关推荐

你做过的最有效的提高你的编程水平的一件事情是什么

最近在stackexchange网站上看到了一个非常好的问答,有人问:你做过的最有效的提高你的编程水平的一件事情是什么?回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能——阅读代码,编写程序,阅读书籍,听讲   最近在stackexchange网站上看到了一个非常好的问答,有人问:你做过的最有效的提高你的编程水平的一件事情是什么?   回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能——阅读代码,编写程序,阅读书籍,听讲座,看视频,等等。   我的问题是:你做过的最有效的提高你的编程水平的一件事情是什么?对于那些想提高

weixin_38673548

一年级语文下册 做什么事情最快乐教案 苏教版 教案.doc

一年级语文下册 做什么事情最快乐教案 苏教版 教案.doc

jianseng1

程序员最害怕的事情是什么?

程序员最害怕的事情是什么?软件开发通常被认为是相当不错的工作,原因非常多。收入高,福利好(有可能非常好),工作富有挑战性(通常是正面积极的挑战),根据目前的就业形势和程序员的需求量,这种职业竞争压力很小。当然,虽然如此,这并不意味着程序员不会偶尔的由于害   软件开发通常被认为是相当不错的工作,原因非常多。收入高,福利好(有可能非常好),工作富有挑战性(通常是正面积极的挑战),根据目前的就业形势和程序员的需求量,这种职业竞争压力很小。当然,虽然如此,这并不意味着程序员不会偶尔的由于害怕工作上差错而在夜里惊醒,冒出一身冷汗。   程序员最害怕什么?根据对程序员讨论组里一些帖子回复情况的不完全统计

weixin_38703895

template:一个TypeScriptJavaScript节点模板,除了演示如何设置CICD项目外,几乎没有做其他事情

TypeScript / JavaScript / Node CI / CD模板 请参阅的。 一个项目,除了演示如何设置 / 项目外,几乎没有做其他事情。 它在部署步骤中生成包(在这种情况下为运行); 它期望存储库遵循 。 分支开发提交一个标有@dev标记的包; 分支发布/使用 (候选发布)标签进行部署; 分支主管向@latest提交。 这些需要人工批准。 和漏洞检查 依赖项先进的现代化程度的不断 符合 ; 测试是通过和实施的 使用评估的测试覆盖率。 通过覆盖报告和 可维护性和代码覆盖率 许多细粒度的测量 托管的。 往下 (或 )的间谍,存根和 现在,Sonarcloud徽章...

kolten

项目主管入门:如何把事情做得漂亮

21世纪人才最珍贵的就是能力素质,我们为你提供了最实用项目主管入门:如何把事情做得漂亮,欢迎大家下载...该文档为项目主管入门:如何把事情做得漂亮,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看

weixin_38713061
评论 38
收藏 已收藏
分享
返回顶部
seai
C语言 70,039 成员 243,237 内容