2014-06-27 34 views
0

這是一個非常初學者級的問題C. 不知道從哪裏開始尋找/搜索。所以,如果我有一個程序在C中連續運行,通過命令行接受輸入到程序中的最佳方式是什麼?C - 正在運行的程序接受輸入

EX,MySQL是已經運行,但你可以處理一個命令調用

mysql SELECT * FROM * 

我需要不同的程序寫入文件/標準輸入在此輸入代碼

澄清:

所以,mysql似乎可以在命令運行的時候運行它......在C中可能嗎?

目標: 我有一些掛鉤到的Open GL ES的,我想在後臺運行一個連續的平局循環,而不必調用如

glhookprogram make "object1" model "triangle" program "default" 
glhookprogram attr "object1" position "1.0, 1.0, 0.0" scale "2.0" rotation "45, 0, 0" 

命令這樣,我可以的能力有一個節點服務器在rpi上的javascript中運行hw-accelerated動畫。

+0

「如果我有一個程序在C中連續運行」和「什麼是接受通過命令行輸入程序的最佳方式」是相互矛盾的要求。只有在您首次執行程序時纔會讀取命令行。你可能要做的是創建你自己的命令行。 –

+2

嘗試在更具體的層面解釋你正在努力實現的目標。 – cnicutar

+0

聽起來像你正在尋找的是一個「連續運行」**在後臺**「服務器」,你想能夠發出命令。對? – YePhIcK

回答

0

看起來這是你需要什麼(我很抱歉 - 我不會去考慮太多的細節,因爲有很多的來源有關在網絡上):

  1. A「服務器「 - 這將是您的後臺進程,它可以保持內存運行,並且可以接受和處理命令(請求)
  2. 」客戶端「 - 一個(短時間運行的)進程,可以接受用戶的命令(GUI,命令行。網絡?其他進程?)併發送請求到您的「服務器」

這是n對於初學者來說,這是一項微不足道的任務。我建議首先使用Google搜索「服務器客戶端」和「進程間通信」,然後從那裏開始。

的選項爲「接受輸入」插入服務器包括(但不限於)以下的範圍:

  1. (視窗)消息
  2. 共享內存和一個命令隊列(生產者 - 消費者)
  3. 共享文件(剛上市就在這裏的完整性,我會反對這項建議特別適合您的情況)
  4. 命名管道
  5. 插座(謝謝你提醒我的那些評論,都可以我相信我錯過了!)
+0

沒關係YePhick,我很樂意接受你的建議。我明白你在說什麼,我只是不想被別人告訴我「你不能這樣做,你是愚蠢的等等」而被人打倒。謝謝你提供了一個起點! – user3692055

+1

我會帶着插座去。他們是最普遍的,並且會教你網絡編程。 –

+0

太好了!謝謝。 – user3692055

相關問題