程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 如何使PHP執行C++應用程序

如何使PHP執行C++應用程序

編輯:C++入門知識

想要充分的掌握C++應用程序的技術,那麼就要對C++中的結構、語句、變量、函數、預處理指令、輸入和輸出等內容進行了解掌握,不管怎樣,你都應該確保你的系統安全,絕對不能讓任何其他的腳本程序隨意訪問系統內部程序。

接下來,我們同樣用條件操作符來輸出另一句話。不過要記住,即使我們不從程序執行命令行傳入任何參數,main函數地argv[]參數也包含一個值。同樣地,如果我們從命令行傳入兩個參數給程序,程序將輸出如下地信息:

  1. Theseargumentsare: 

最後,main函數逐一的輸出命令行傳入的每個參數,它用到了一個簡單的for(;;)循環語句,這個函數能根據參數的個數將參數值一個一個的輸出。假如我們傳給程序兩個參數”first”和second”,for循環輸出的結果如下:

  1. [1]?first  
  2. [2]?second 

以上是關於這個C++應用程序的簡單說明,它的功能十分簡單,就是將命令行傳入的參數用cout函數顯示在輸出屏幕上。接下來,我們將編譯這個.cpp文件,如果你在windows平台下,需要telnet到所使用的server上。

在這裡,我們使用大多Unix機器上都提供的G++編譯器來編譯這個源文件。不過為了確信你的機器安裝了G++,你可以輸入如下命令:whichg++。如果G++已經安裝了,Unixshell將顯示出G++所在的全路徑。如果沒有安裝,它將提示你說”commandcouldn’tbefound”.你可以在這裡下載到G++。

通過這個命令,我們就將.cpp文件編譯成了包含機器代碼的目標文件。通過ls?a命令,你可以發現在本目錄下出現了一個新文件sampleapp.o,這就是.cpp源文件被編譯成機器碼的結果。不過我們最終想要的是一個可執行文件,因為我們還要輸入如下的G++命令:

  1. Youpassed3arguments.  
  2. Theseargumentsare: 

現在,可執行的C++應用程序成生完畢,下面我們將生成一個能夠通過web浏覽器來訪問這個程序的PHP教本程序。

為了能通過Internet來調用我們的C++應用程序,我們需要生成一個PHP腳本程序。這個PHP腳本程序將有一個Form表單,以便用戶能輸入可以傳給程序Sampleapp的參數。PHP腳本的代碼太長就不在這裡全部列出了,需要的話可以通過下面的地址來下載它。

首先,腳本程序檢查看變量$submit是否有值,這個變量$submit的值是程序後面的Form表單提交後傳遞過來的,它缺省為空值。符號@的作用是當變量$submit的值不存在的時忽略相關的錯誤信息。
由於變量$submit缺省為空,所以一開始執行else{}中的代碼,它在浏覽器上簡單的顯示一個Form表單。Form的action屬性設為變量$PHP_SELF,即表單提交後返回本頁。同時Form表單包含了一個文本輸入條。

這是用來讓用戶輸入要傳遞給C++應用程序的命令行參數。一旦我們輸入執行命令並提交表單,變量$submit即按鈕Go的名字)就獲得一個值,這樣PHP教本將執行if{}之間的代碼。

  1. if($args=="")  
  2. echo"<h1>Youdidn'tenteranyarguments.</h1>";  
  3. else  
  4. {  
  5. echo"<h1>SampleAppResult</h1>";  
  6. $command="/htdocs/sampleapp".escapeshellcmd($args);  
  7.  
  8. passthru($command);  

變量$args是自動產生的,它的值是Form表單中文本輸入條傳過來的值。如果沒有輸入任何信息,程序將簡單的告訴用戶沒有輸入任何值。

  1. C與C++中標准輸入實現方式上的一點區別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved