簡體   English   中英

獲取命令行參數

[英]Obtaining command line parameters

如何使可執行文件將函數的參數公開為命令行參數? 我知道使用

int main( int argc, char **argv )

有其他選擇嗎? 是否可以通過腳本語言(例如javascript)調用此程序?

main功能為可執行文件提供了一個入口點。 因此,答案是否定的,您不能簡單地公開一個函數,該函數是從諸如javascript之類的腳本語言調用的。

我知道有可能啟用對某些腳本語言(如Python,Ruby,Lua等)的C或C ++庫和函數的訪問權限。如果要將函數公開給其中任何一種,我建議您使用SWIGBoost :: Pythonluabind 我敢肯定,還有很多其他庫可以將接口公開給腳本語言,甚至誰也知道JavaScript。

我希望我能正確回答問題:)

這是可能的。 但是,這是非常不明智的建議(並且在可能的情況下也不傾向於成為受支持的功能)。 將本機可執行代碼暴露給任何這樣的腳本可能會非常非常糟糕地結束。

恐怕這種情況很像為未成年人購買啤酒...我知道您還是會去嘗試做,但是我不會成為助長您拖欠債務的人。

(盡管很嚴重;請不要這樣做。研究使用庫擴展腳本語言的方法,例如上面推薦的@Constantinius)。

祝好運!

您需要將程序編寫為沒有main()的DLL(Windows)或.so(UNIX)文件。 從腳本語言中調用它通常需要包裝程序代碼在腳本語言變量和約定之間轉換為C。盡管許多腳本語言都是用C編寫的,但如果不進行某種轉換,就不能在兩者之間直接傳遞變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM