exec的幾個函式是類似的,這裡只討論execl。
execl()函式宣告如下:
extern int execl(_const char *_path,const char *_ar**,…,null)
簡單解釋:函式execl()返回值定義為整形,如果執行成功將不返回!執行失敗返回-1。
引數列表中char *_path為所要執行的檔案的絕對路徑,從第二個引數ar**開始為執行新的檔案所需的引數,最後乙個引數必須是空指標(一般用null代替)。
1、用fork建立子程序,子程序中呼叫另乙個c程式
exectest.c
#include#include#include#include#includeint main(int argc,char *ar**)
else if(pid == 0)
}else
return 0;
}
2、被呼叫的c程式,該程式接受乙個execl傳來的引數n,並計算1到n的累加和,計算程式執行時間,以及輸出程式的程序號。
其中clocks_per_sec是個常量,表示每秒的打點數。
test.c
#include#include#include#includeint main(int argc,char *ar**)
printf("1到n的累加和=%d\n",sum);
printf("程式的程序號=%d\n",pid);
stop = clock();
time = (double)(stop - start)/clocks_per_sec; //計算程式的執行時間
printf("程式執行時間=%lf\n",time);
return 0;
}先將兩個c程式編譯鏈結成可執行檔案
執行結果
呼叫另乙個Activity
1 建立主activity 注意通過權重來分配尺寸的方式 元件1 android layout width 0dp android layout weight 1 元件2 android layout width wrap content 2 在主類中指定onclick所對應的sendmessage...
iOS 呼叫另乙個程式
在 ios 裡,程式之間都是相互隔離,目前並沒有乙個有效的方式來做程式間通訊,幸好 ios 程式可以很方便的註冊自己的 url scheme,這樣就可以通過開啟特定 url 的方式來傳遞引數給另外乙個程式。例如在 ipad 上瀏覽網頁,並且 ipad 已經安裝了 hd,那麼就開啟下面這個鏈結就會在 ...
乙個Ejb呼叫另乙個Ejb
乙個ejb呼叫另乙個ejb有兩種方法 第一是同個jndi 查詢 initialcontext ctx new initialcontext ihelloword helloworld ihelloword ctx.lookup helloworld remote 第二種 通過依賴注入 1 ejb i...