国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

Assembly 多模塊程序

2018-10-28 15:01 更新

多模塊程序是由不止一個目標文件組成的程序。這里出現(xiàn)的所有程序都是多模塊程序。它們由C驅(qū)動目標文件和匯編目標文件(加上C庫目標文件)組成?;貞浺幌逻B接程序?qū)⒛繕宋募M合成一個可執(zhí)行程序。連接程序必須把在一個模塊(也就是目標文件)中引用的每個變量匹配到定義該變量的模塊。為了讓模塊A能使用定義在模塊B里的變量,就必須使用extern(外部)指示符。在extern 指示符后面是用逗號隔開的變量列表。這個指示符告訴編譯器把這些變量視為是模塊外部的。也就是說,這些變量可以在這個模塊中使用,但是卻定義在另一模塊中。asm_io.inc文件中就將read_int等程序定義為外部的。


在編譯語言中,缺省情況下變量不可以由外部程序訪問。如果一個變量可以被一個模塊訪問,而這個模塊又不是定義它的,那么在定義它的模塊中,它一定被聲明為global(全局的)。global 指示符就可以用來做這件事情。圖1.7的程序skeleton中的第13行定義了一個全局變量asm main。若沒有這個聲明,就可能會出錯。為什么?因為C代碼將會找不到內(nèi)部的_asm_main變量。


下面是用兩個模塊重寫的以前例子的代碼。子程序(get_int和print_sum)在不同的源文件中,而不是在_asm_main程序中。


實例1

實例2

實例3

實例4


上面的例子只有全局的代碼變量;同樣,全局數(shù)據(jù)變量也可以使用一模一樣的方法。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號