0
if((sem_init(sem, 1, 1)) == 1) perror("error initiating sem");

このコード行を含めると、プログラムは単に開始および終了します。セマフォの使い方を学び始めたところです。私はcygwinを使用しており、この行がprintfのABOVE this print to consoleにコメントアウトされている場合、これを含めると何も起こりません。

私はcygserverを動かすために次のことをしました-

CYGWIN=server
ran /bin/cygserver-config
ran /usr/sbin/cygserver

構成については、cygserverがすでに実行されていると述べ、sygserverについては、

initailaizing complete
failed to created named pipe: is the daemon already running?
fatal error on IPC transport: closing down

何か案は?

4

1 に答える 1

1

私は何が間違っているかを理解しました。データにメモリを割り当てる前に、 data(struct) = shmat() を使用していました。何らかの理由で、「printf」が機能しなくなっていました。

于 2012-09-24T21:35:34.937 に答える