自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使PHP執(zhí)行C++應用程序

開發(fā) 后端
PHP允許開發(fā)者可以通過腳本以獨立的線程來執(zhí)行C++應用程序,下文給大家提供實例,希望大家學習參考,如有不妥當?shù)牡胤綒g迎指出。

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

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

  1. Theseargumentsare: 

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

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

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

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

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

  1. Youpassed3arguments.  
  2. Theseargumentsare: 

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

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

首先,腳本程序檢查看變量$submit是否有值,這個變量$submit的值是程序后面的Form表單提交后傳遞過來的,它缺省為空值。符號@的作用是當變量$submit的值不存在的時忽略相關的錯誤信息。

由于變量$submit缺省為空,所以一開始執(zhí)行else{}中的代碼,它在瀏覽器上簡單的顯示一個Form表單。Form的action屬性設為變量$PHP_SELF,即表單提交后返回本頁。同時Form表單包含了一個文本輸入條。

這是用來讓用戶輸入要傳遞給C++應用程序的命令行參數(shù)。一旦我們輸入執(zhí)行命令并提交表單,變量$submit(即按鈕Go的名字)就獲得一個值,這樣PHP教本將執(zhí)行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是自動產(chǎn)生的,它的值是Form表單中文本輸入條傳過來的值。如果沒有輸入任何信息,程序將簡單的告訴用戶沒有輸入任何值。

【編輯推薦】

  1. C與C++中標準輸入實現(xiàn)方式上的一點區(qū)別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: 清華大學出版社
相關推薦

2010-01-14 11:14:47

C++應用程序

2010-01-28 09:44:08

C++應用程序

2010-01-28 10:33:10

C++開發(fā)程序

2010-01-26 17:16:33

C++應用程序

2010-01-28 17:14:38

Visual C++應

2010-01-22 13:59:34

Visual C++應

2012-01-13 10:31:25

ibmdw

2009-04-12 09:25:12

Symbian諾基亞移動OS

2011-07-20 17:23:29

C++持久對象

2010-01-13 13:36:54

C++應用程序

2010-12-30 16:22:28

Visual C++用戶訪問協(xié)議

2011-06-21 10:28:17

Qt Visual C++

2011-11-30 21:56:31

ibmdwXPathPHP

2009-08-06 10:27:08

C#應用程序域

2009-08-24 09:25:18

Visual C# ..NET應用程序

2009-08-24 14:19:27

C# Windows應

2012-05-24 09:47:26

ibmdw

2012-05-28 16:20:44

Linux

2015-11-05 10:16:33

2009-05-27 14:31:53

NetBeansEclipsPHP
點贊
收藏

51CTO技術棧公眾號