小编Lip*_*eka的帖子

srand() - 为什么只调用一次?

这个问题是关于这个问题的评论 推荐的方法来初始化srand?第一条评论说srand()应该只在应用程序中调用ONCE.为什么会这样?

c random srand

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

重命名()原子?

我无法通过实验检查这一点,也无法从手册页中收集它.

假设我有两个进程,一个从directory1移动(重命名)file1到directory2.假设另一个并发运行的进程将directory1和directory2的内容复制到另一个位置.是否有可能以这样的方式发生复制:directory1和directory2都将显示file1 - 即在移动之前复制directory1,在第一个进程移动之后复制directory2.

基本上是rename()是一个原子系统调用?

谢谢

linux file-rename vfs atomicity

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

线程和文件描述符

很遗憾没有做我自己的研究并在这里问.我的时间略短.

是否可以为单个线程中的两个或多个线程提供两个文件描述符表.两个或多个子线程同时访问同一个文件,因此来自不同线程的同一文件的两个不同打开的偏移量是否是特定于线程的?

谢谢

c linux pthreads

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

想要execve()的excutable运行来使用我预加载的库

我正在执行一个程序,通过先分叉然后执行execve()来说明另一个程序.现在问题是我希望A使用我的库,我通常会使用LD_PRELOAD.我如何在execve()中执行此操作.

谢谢

c linux fork

12
推荐指数
1
解决办法
5463
查看次数

在C程序中操纵"粘性位"

我们如何在C程序中设置,重置和检查"粘滞位"?

谢谢

c linux

8
推荐指数
1
解决办法
2655
查看次数

初始化指向结构的指针

使用strcpy()时另一个链接问题是Segmentation fault?

我有一个结构:

struct thread_data{    
    char *incall[10];
    int syscall arg_no;    
    int client_socket;
 }; 
Run Code Online (Sandbox Code Playgroud)

如何初始化指向上述类型结构的指针,以及初始化指向结构内10个字符串(incall [])的指针.

我首先初始化字符串然后初始化结构.

谢谢.

编辑:我想我使用了错误的单词,应该说是分配.实际上我传递这个结构作为线程的参数.线程数没有固定,作为参数发送的数据结构对于每个线程必须是唯一的,并且"线程安全"即不能被其他线程更改.

c linux structure initialization

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

在控件进入共享库之前捕获系统调用

我已经包装了一些系统调用函数,如write(),open()等,LD-PRELOAD用于覆盖原始系统调用.此外,我已经定义了一些函数,并使它成为一个碎片库.

我想在进入共享库之前捕获来自不同应用程序进程的所有系统调用到这些共享库.我怎样才能做到这一点?

谢谢

c linux shared-libraries dlopen

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

多个线程之一的 Pthread_join

我的问题类似于如何在使用 pthread 时检查线程是否终止?。但我没有完全得到答案。

我的问题是......我创建了一定数量的线程,比如n。一旦 main 检测到任何一个线程的退出,它就会创建另一个线程,从而保持并发度为 n 等等。

主线程如何检测线程的退出。pthread_join 等待特定线程退出,但在我的例子中,它可以是 n 个线程中的任何一个。

谢谢

c linux pthreads

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

将参数发送到ftw()

有没有办法将参数发送到ftw()以用于处理路径上的每个文件/目录?由于多线程问题,将关注的参数作为全局变量有点困难,即将全局值视为全局变量并且这将是错误的.

c linux filesystems

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

提高MATLAB代码速度

一些指示,将不胜感激.我正在阅读大约1M行数据,使用以下代码需要大约24小时.如何改善执行时间?

该阵列Day包含n的值一天从一开始和有特定日期更然后一个记录.该程序检查特定ID(存储在unique_id)是否在180天内重复.

%// calculating the number of repeats within 180 days
fid2 = 'data_050913/Unique_id_repeat_count1.xlsx';
fid1 = 'data_050913/data_050913_2000.csv';

fid_data = fopen(fid1);
data     = fgetl(fid_data); %// the first line, title line
ep       = 0; %// position point number

while 1
    data = fgetl(fid_data);
    if(length(data)<10)
      break;
    end
    ep = ep+1;
    id = find(data == ',');
    unique_id(ep) = str2num(data(1:id(1)-1)); 
    day(ep) = str2num(data(id(8)+1:id(9)-1)); 
end

repeat = zeros(ep,1);

tic
i = 1; 
count = 0;
while i <= ep
    j …
Run Code Online (Sandbox Code Playgroud)

arrays matlab loops execution-time

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