linux 乙個小程式

2021-09-07 03:22:35 字數 1582 閱讀 1919

利用工作之餘為小夥伴寫了份作業,關於程序間通訊的。題目如下:

父程序從鍵盤上接受1000個資料,對其求和sum1,子程序對這1000個數平方和sum2,結果傳給父程序,父程序將sum1+sum2後,列印結果。

要求:用大小為10的共享區傳遞1000個資料;子程序用訊息機制將sum2傳給父程序。

主要利用共享記憶體實現程序間通訊,使用管道實現程序間競爭關係,freebsd下測試通過。**如下:時間有限,有可能有些不足,希望高手給予指點。

1 #include 2 #include 

3 #include 4 #include 5 #include 6

7const

int key = 0x12345678;8

static

int pfd1[2], pfd2[2];9

10#define shm_len (10*1024)

11#define val_num 5

1213

intinit_shm()

2122

return

shmid;23}

2425

void cancel_shm(int

shmid)

30 printf("

cancel_shm successfully!\n");

31}3233

void *shm_get(int

shmid)

4142

return

mem;43}

4445

int get_val(int *val, int

num) 51}

52void show_val (int *val, int

num)

57 printf("\n"

);58}59

60int add_val (int *val, int

num)

6768

return

result;69}

7071

int square_val (int *val, int

num)

7980

return

result;81}

8283

void tell_wait (void

) 88}89

90void

tell_parent (pid_t pid) 95}

9697

void wait_parent (void

) 104

}105

106void

tell_child (pid_t pid)

111}

112113

void wait_child (void

) 120

}121

122int main(int argc, char *argv) else

if (pid == 0) else

165166

cancel_shm(shmid);

167168

return0;

169 }

乙個java小程式

能讓阿拉伯數字讀成符合漢語語法和漢語習慣的中文.就這我 還做了一天呢 鬱悶.public class itcs string unit1 new string string unit2 new string string str args 0 string str 2 null system.out...

乙個socket小程式

一直對c c 下的socket程式設計必是很熟悉,今天終於完成了乙個很簡單的server client程式 伺服器 include include pragma ment lib,ws2 32.lib using namespace std const int my error 1 int main...

乙個日曆小程式

include define sunday 0 define monday 1 define tuesday 2 define wednesday 3 define thursday 4 define friday 5 define saturday 6 void giveinstructions ...