導航:首頁 > 軟體知識 > 如何調用另一個c的程序

如何調用另一個c的程序

發布時間:2023-01-19 01:07:32

A. 匯編語言是怎麼調用c語言的程序的

一、 參數傳遞的基本規則(ATPCS(ARM—Thumb Procere Call Standard))
1、 參數傳遞

二、匯編程序、C程序相互調用舉例
1、 C程序調用匯編程序
匯編程序的設計要遵守ATPCS(ARM—Thumb Procere Call Standard),保證程序調用時參數的正確傳遞。在匯編程序中使用EXPORT 偽操作聲明本程序,使得本程序可以被別的程序調用。在C程序使用extern聲明該匯編程序。
下面是一個C程序調用匯編程序的例子。其中匯編程序str實現字元串復制功能,C程序調用str完成字元串復制的工作。
//C程序
#include <stdio.h>
extern void str(char *d, const char *s);
int main( )
{
const char *srcstr=」First string-source」;
char dststr[ ]=」Second string-destination」;
printf(「Before ing:\n」);
printf(「%s\n %s\n」, srcstr,dststr);
str(dststr,srcstr);
printf(「After ing:\n」);
printf(「%s\n %s\n 「,srcstr,dststr);
while(1) ;
}

;匯編程序
AREA S, CODE, READONLY
EXPORT str
Str
LDRB R2, [R1], #1
STRB R2, [R0], #1
CMPR2,#0
BNE Str
MOV PC, LR
END
2、 匯編程序調用C程序
匯編程序的設計要遵守ATPCS,保證程序調用時參數的正確傳遞。在匯編程序中使用IMPORT偽操作聲明將要調用的C程序。下面是一個匯編程序調用C程序的例子。其中在匯編程序中設置好各參數的值。本例中有6個參數,分別使用寄存器R0存放第1個參數,
R1存放第2個參數, R2存放第3個參數, R3存放第4個參數, 第5個、第6個參數利用數據棧傳送。由於利用數據棧傳遞參數,在程序調用結束後要調整數據棧指針。
//C程序g( )返回6個參數的和
int g( int a, int b, int c, int d, int e, int f )
{
printf(「e=%d\n」, e);
printf(「f=%d\n」, f);
return (a+b+c+d+e+f);
}

; 匯編程序調用C程序 g( ) 計算6個整數 i, 2*i, 3*i, 4*i, 5*i, 6*i的和
EXPORT f
AREA f ,CODE, READONLY
IMPORT g
MOV R0, #1
ADD R1, R0, R0
ADD R2, R1, R0
ADD R3, R2, R0
ADD R4, R3, R0
ADD R5, R4, R0
STR R4, [SP, #-4]!
STR R5, [SP, #-4]!
BL g
ADD SP, SP, #4
ADD SP, SP, #4
STOP B STOP
END

B. c語言如何 調用外部程序

1. 在調用之前,先聲明和定義函數
2. 根據你函數的參數類表來,填入函數調用時所真正用到的參數來進行調用

例如:要在函數 F(){... } 中調用新增的小程序int FA(int a)和 char FC(char c),按照上面講的:

1.聲明和定義

int
FA(int a){ /*函數功能具體的定義*/};

char
FC(char& c){ ... /*函數功能具體的定義*/};

2 根據函數的聲明,在F()中加以調用

void
F()
{
... ...
int getA = FA(6); //6為int,如果參數是6.001,則會強制轉換成為6
... ...
char getC= FC('a') //a為單個的字元
}

就這樣,簡單吧,去試試吧 :-)

C. C語言如何調用別的程序

可以啊,只要放到程序李就得,但是不能是編譯語言

D. 怎樣在一個 C 程序中調用另一個程序 (獨立可執行的程序, 或系統命令)

使用庫函數 system(), 它的功能正是所要的。注意, 系統返回的值最多是命令的退出狀態值 (但這並不是一定的), 通常和命令的輸出無關。還要注意,system() 只接受一個單獨的字元串參數來表述調用程序。如果要建立復雜的命令行, 可以使用 sprintf()。根據使用的系統, 也許還可以使用系統函數, 例如exec 或 spawn (或execl,execv, spawnl, spawnv 等)。

E. C語言中如何用一個程序調用另一個程序,兩個程序都是.c文件。

你把被調用的.c文件中的main()函數改成其他名字
如fun();
然後在另一個.c文件的main()函數中調用fun();
只要保證一個C工程只有一個main()做入口點就行了,至於保留哪個main函數,那就要看你程序的邏輯了,注意main函數是入口點的概念

閱讀全文

與如何調用另一個c的程序相關的資料

熱點內容
集成牆板怎麼展示產品 瀏覽:455
注塑透明產品熔接痕怎麼調 瀏覽:745
2021國外缺什麼產品 瀏覽:422
同步數據線有什麼好處 瀏覽:985
什麼防脫生發產品好 瀏覽:351
哪裡可以學習無痕防滑技術 瀏覽:556
家庭日用清潔產品如何拍攝 瀏覽:433
內部交易如何定價外協價格管理 瀏覽:868
第二次考教資需要填哪些信息 瀏覽:814
物業公司的市場部是干什麼的 瀏覽:842
完美世界裡怎麼交易好友 瀏覽:178
除了程序員還有什麼技術 瀏覽:928
汊河新農貿市場在哪裡呀 瀏覽:537
學習什麼技術賺錢最多 瀏覽:295
沒實物怎麼找代理 瀏覽:190
水產品與畜禽肉類怎麼吃 瀏覽:180
電腦連接數據線找不到手機怎麼辦 瀏覽:111
金航農產品有哪些 瀏覽:225
股票交易軟體行業排名怎麼看 瀏覽:915
彈簧怎麼纏數據線 瀏覽:551