c語言多程序程式設計,C語言如何建立併發程序

2021-12-19 14:40:58 字數 2516 閱讀 7025

1樓:匿名使用者

多程序這個詞用得比較少,聽過來有點不熟悉。你這個程式在linux下應該很容易實行,就是個程序間通訊的問題,管道、訊息佇列、共享記憶體都可以,可以找找相關資料。昨天失言不好意思。

三個原始檔分別為1.c、2.c、3.c一個標頭檔案share.h。

share.h:

//共享的記憶體,兩個陣列

typedef structshare_use;

1.c:

#include

#include

#include

#include

#include

#include

#include

#include"share.h"

int main()

shared_memory = shmat(shmid, (void *)0,0);//讓程序可以訪問共享記憶體

if(shared_memory == (void *)-1)

printf("memory attached at %x\n",(int)shared_memory);

share_stuff = (share_use *)shared_memory;

share_stuff->id=0;

share_stuff->a[0]=1;

share_stuff->a[1]=2;

while(1)

} 2.c:

#include

#include

#include

#include

#include

#include

#include

#include"share.h"

int main()

shared_memory = shmat(shmid, (void *)0,0);//讓程序可以訪問共享記憶體

if(shared_memory == (void *)-1)

printf("memory attached at %x\n",(int)shared_memory);

share_stuff = (share_use *)shared_memory;

share_stuff->b[0]=share_stuff->a[0]*100;

share_stuff->b[1]=share_stuff->a[1]*100;

while(1) }

3.c:

#include

#include

#include

#include

#include

#include

#include

#include"share.h"

int main()

shared_memory = shmat(shmid, (void *)0,0);//讓程序可以訪問共享記憶體

if(shared_memory == (void *)-1)

printf("memory attached at %x\n",(int)shared_memory);

share_stuff = (share_use *)shared_memory;

printf("共享記憶體中有元素:%d , %d",share_stuff->b[0],share_stuff->b[1]);

share_stuff->id=1;

return 0;

} linux或unix環境下編譯

2樓:何處淬吳鉤

多程序並不是沒有。不過樓主的這個問題用多程序確實是有點殺雞用牛刀的意思,完全可以用多執行緒解決。這東西可不是鬧著玩(特別是多程序)的,能寫出來非要一定功底不可,要解決好程序或執行緒間的同步問題。

3樓:匿名使用者

#include

#include

#include

int main(int args,char*argv); pid_t pid=0;

pid=vfork();

if(pid==0) }

else if(pid>0) }

} else

return 0;

}以上是在linux下的多程序

c語言如何建立併發程序

4樓:匿名使用者

win32api函式createprocess用來建立一個新的程序和它的主執行緒,這個新程序執行指定的可執行檔案。

函式原型:

引數:返回值:

如果函式執行成功,返回非零值。

如果函式執行失敗,返回零,可以使用getlasterror函式獲得錯誤的附加資訊。

程序的檢視、建立和撤銷(c語言)例程:

5樓:

那個**是linux下的,並且還存在問題,在windows上當然不好用了。上面提示的錯誤是說連結時找不到fork符號,因為那是linux裡的東西。

你應該找windows下的程序相關知識來看看,比如搜尋一下createprocess等。

c語言程式設計,C語言程式設計

這麼簡單還用不到結構體陣列和檔案 include include static int find x unsigned int number,int x char t 0 int count 0 int i 0 if itoa number,buf,10 null return 0 for buf ...

用C語言程式設計,用c語言程式設計?

有庫函式的大哥,如下 include下 函式原型 int cdecl islower int c int cdecl isupper int c int cdecl tolower int c int cdecl toupper int c 如何判斷一個字元是小寫字母?查上一章提供的ascii碼錶....

c語言程式設計問題,C語言程式設計問題?

int main printf 字母數 d n空格數 d n數字數 d n其他字元數 d n letters,space,digit,other return 0 第一個問題 無效的主要 i 100 i 100 第二個問題,到1 100奇 0 int i 1 i 1 100 i i 100 而 i ...