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 ...