小编Jay*_*Jay的帖子

如何改变Windows Mutex的递归锁定行为?

如果当前拥有锁的线程试图获取它,Windows Mutex似乎允许再次(递归地)获取获取的锁.

但是,基于posix的pthread锁不允许这样的行为.

是否有任何编译时宏或任何可以使windows互斥量与pthread互斥量相同的设置?

c windows posix mutex

7
推荐指数
2
解决办法
7396
查看次数

检测进程中的内存碎片问题

如果进程执行导致内存碎片,我们可以使用哪些机制来检测?

有没有相同的工具?对使用"C"代码并可在Windows,Linux和VxWorks上运行的工具的建议将会有所帮助.

c memory-fragmentation

7
推荐指数
1
解决办法
1142
查看次数

如何以编程方式设置文件的修改时间?

如何在Windows中以编程方式设置文件的修改时间?

c windows file

7
推荐指数
2
解决办法
2万
查看次数

我是否需要在编译期间添加_REENTRANT宏以使我的errno线程安全?

我是否需要在编译期间添加_REENTRANT宏以使我的errno线程安全?

如果不是,所有版本的gcc/linux/solaris都是这种情况,还是某些旧版本需要它?

我最近测试了一段没有使用_REENTRANT的代码,并发现errno在多线程环境中的未定义fahsion中运行?但是,在添加_REENTRANT后,一切正常.环境是Solaris.

但是,这里的讨论似乎并没有说必须添加_REENTRANT.我有点困惑.

另外,除了_REENTRANT之外,我应该添加任何其他选项或库以确保我的应用程序具有线程安全错误吗?

c compiler-construction multithreading errno

7
推荐指数
1
解决办法
2100
查看次数

什么是C中的Singleton指针?

我有一些代码是这样的(这不是生产代码.只是一个示例代码)

char *inbuf = NULL;
inbuf = buf; //buf is some other valid buffer of size 100.

func(&inbuf);


.....

void func(char **p)
{
  ...
  (*p)++;
  ...

}
Run Code Online (Sandbox Code Playgroud)

Coverity Tool表示"使用&inbuf获取地址会产生单身人士".我听说过关于C++的单例一词.但是,单例指针在C方面意味着什么呢?

c singleton pointers

7
推荐指数
1
解决办法
4919
查看次数

如何解析两个同名的结构?

在我的代码库中,我发现两个模块具有相同名称的结构.它给出了名称冲突错误.有没有办法解决它而不更改代码?

c structure

6
推荐指数
1
解决办法
2058
查看次数

是否可以在Windows中对互斥锁进行静态初始化?

pthread支持使用PTHREAD_MUTEX_INITIALIZER静态初始化pthread_mutex_t.

是否有可能使用Windows互斥锁为互斥初始化实现类似的静态机制?

windows mutex pthreads

6
推荐指数
2
解决办法
2477
查看次数

应用程序中是否存在两个相同库(具有相同名称)的不同版本?

我有一些这样的场景:

产品 - >平台 - > mylibs(版本-1)

产品 - > mylibs(版本-2)

即产品直接使用mylibs(版本-2).产品还使用平台(也是动态库),平台使用我的库(版本-1).

产品和平台使用的库的名称是相同的.只有版本不同,这两个版本都不兼容.

有没有办法在Linux中使用".so"库,平台可以链接到一个版本,产品可以链接到同一个同名库的另一个版本?

c linux shared-libraries

6
推荐指数
1
解决办法
2458
查看次数

C库是与编译器一起分发还是直接由OS分发?

根据我的理解,C库必须与编译器一起分发.例如,GCC必须分发它自己的C库,Forte必须分发它自己的C库.我的理解是否正确?

但是,使用GCC编译的用户库是否可以与Forte C库一起使用?如果系统中存在两个C库,那么在运行时会调用哪一个?

此外,如果一个应用程序链接到多个库,一些用GCC编译,一些用Forte编译,那么用GCC编译的库会自动链接到GCC C库,并且它对Forte的行为也是如此.

c linux compiler-construction solaris

6
推荐指数
1
解决办法
182
查看次数

CPU的使用率是什么意思?如何降低?

CPU进程的含义是什么意思?

如何衡量呢?

有什么方法可以减少它?

我一直对这个概念感到困惑.我试图在Linux中使用'top'命令来测量使用的CPU.但是,我注意到的是,当没有其他用户进程在运行时,我的进程似乎会在I/O中没有阻塞时占用99%的CPU.但是,如果还有其他进程在运行,则会达到45%或50%.当没有其他进程在运行时,进程占用99%的CPU是否可以接受?

方向上的任何链接或指针也会有所帮助.

performance process

5
推荐指数
1
解决办法
2万
查看次数