nt S=1; //S 表示盤子是否為空;
int Sa=0; //Sa表示盤中是否有蘋果;
int Sb=0; //Sb表示盤中是否有桔子;
父親
while(TRUE)
{
Wait(S);
將水果放入盤中
;
if (
放入的是桔子
)
Signal(Sb);
Else
Signal(Sa);
}
兒子
while(TRUE)
{
Wait(Sb);
從盤中取出桔子;
Signal(S);
吃桔子
;
}
女兒
while(TRUE)
{
Wait(Sa);
從盤中取出蘋果;
Signal(S);
吃蘋果
;
}
B. 一般游戲編程用什麼語言和軟體
下面是游戲開發十大編程語言的列表。
1、C類#
C語言現在被廣泛應用於許多游戲引擎中,是最流行的游戲開發語言之一。它有一個XNA框架、一套微軟工具和運行時環境,使它特別適合Xbox或windows上的游戲。如果你想使用monogame在幾乎任何平台上發布游戲,這是一種很好的語言。
2、C類++
C++是一種面向對象的語言,被認為是最難學習的語言之一,但它是游戲開發人員的重要語言。它允許對硬體和圖形進程進行更直接的控制,這對行業很重要,是一些流行游戲引擎的流行語言。它還提供了對參數和內存管理的大量控制,從而提高了游戲的性能和用戶體驗。
3、Java
Java使用與C++相同的面向對象原則,但提供了更廣泛的系統。Java代碼通常在Java虛擬機(JVM)上運行,並轉換為可在任何系統上執行的通用位元組碼。因此,Java是為數不多的能夠讓開發人員為任何給定系統開發游戲的游戲編程語言之一。它是最好的游戲編程語言之一。
4、JavaScript
JavaScript是最流行的游戲編程語言之一,尤其是作為一種在線交互語言。使用JavaScript,可以更容易地將代碼與傳統的網路技術(如HTML和CSS)集成,從而導致越來越多的跨平台移動游戲。
5、HTML5
HTML5已經成為互聯網上最常見的游戲編程語言之一。你今天玩的大多數手機游戲都使用這種標記語言。使用JavaScript很容易創建復雜的基於web的游戲。該語言簡單易學,不一定需要學習復雜的演算法編程知識,因此成為游戲開發者的熱門選擇。
6、SQL語言
SQL被玩家用來訪問後端帳戶並在伺服器上執行其他操作。有新的語言,庫,框架,特別是AR,VR,圖形,物理和游戲。
7、Python
Python是另一種提供OOP方法的語言,是游戲開發人員使用的最易於使用的通用編程語言之一。它有一個pyGame框架,允許程序員快速開發游戲原型。
8、Rust
鐵銹被吹捧為C的繼承者之一。它主要被Mozilla基金會用作系統編程語言。它具有面向對象到面向數據的方法,有助於游戲開發。
9、UnrealScript
Unrealscript是unreal引擎的本機腳本語言。它結合了面向對象、多重繼承和功能豐富的游戲等復雜功能。該語言支持所有主要的游戲平台,如微軟Windows、MacOS、Linux、steamos、Android和PlaystationVR。
10、Lua
由於語言結構和語法簡單,Lua正成為游戲界最流行的語言之一。它是一種多平台腳本語言,許多現代游戲引擎都使用Lua作為主要的游戲設計編程語言。
C. 在Linux下用C語言編程
4。守護進程的創建
如果你在DOS時代編寫過程序,那麼你也許知道在DOS下為了編寫一個常駐內存的程序我們要編寫多少代碼了.相反如果在Linux下編寫一個"常駐內存"的程序卻是很容易的.我們只要幾行代碼就可以做到. 實際上由於Linux是多任務操作系統,我們就是不編寫代碼也可以把一個程序放到後台去執行的.我們只要在命令後面加上&符號SHELL就會把我們的程序放到後台去運行的. 這里我們"開發"一個後台檢查郵件的程序.這個程序每個一個指定的時間回去檢查我們的郵箱,如果發現我們有郵件了,會不斷的報警(通過機箱上的小喇叭來發出聲音). 後面有這個函數的加強版本加強版本
後台進程的創建思想: 首先父進程創建一個子進程.然後子進程殺死父進程(是不是很無情?). 信號處理所有的工作由子進程來處理.
#include
#include
#include
#include
#include
#include
#include
/* Linux 的默任個人的郵箱地址是 /var/spool/mail/用戶的登錄名 */
#define MAIL "/var/spool/mail/hoyt"
/* 睡眠10秒鍾 */
#define SLEEP_TIME 10
main(void)
{
pid_t child;
if((child=fork())==-1)
{
printf("Fork Error:%s\n",strerror(errno));
exit(1);
}
else if(child>0)
while(1);
if(kill(getppid(),SIGTERM)==-1)
{
printf("Kill Parent Error:%s\n",strerror(errno));
exit(1);
}
{
int mailfd;
while(1)
{
if((mailfd=open(MAIL,O_RDONLY))!=-1)
{
fprintf(stderr,"%s","\007");
close(mailfd);
}
sleep(SLEEP_TIME);
}
}
}
你可以在默認的路徑下創建你的郵箱文件,然後測試一下這個程序.當然這個程序還有很多地方要改善的.我們後面會對這個小程序改善的,再看我的改善之前你可以嘗試自己改善一下.比如讓用戶指定郵相的路徑和睡眠時間等等.相信自己可以做到的.動手吧,勇敢的探險者.
好了進程一節的內容我們就先學到這里了.進程是一個非常重要的概念,許多的程序都會用子進程.創建一個子進程是每一個程序員的基本要求!
D. 怎麼在linux中編寫c語言程序
首先需要有一個安裝好gcc的Linux系統,然後進行代碼的編寫進行測試演示
工具:
Ubuntu12.04
步驟
進入Linux系統後,啟動一個shell命令終端,在Ubuntu的三鍵啟動終端方法是同時按下Ctrl鍵+Alt鍵+t啟動後如下圖所示: