不是C語言吧?是系統(tǒng)命令。用來列舉object文件(比如編譯出的a.out)的symbols.
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供四方臺網(wǎng)站建設(shè)、四方臺做網(wǎng)站、四方臺網(wǎng)站設(shè)計、四方臺網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、四方臺企業(yè)網(wǎng)站模板建站服務(wù),十多年四方臺做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
用法是:
nm [-a|--debug-syms] [-g|--extern-only]
[-B] [-C|--demangle[=style]] [-D|--dynamic]
[-S|--print-size] [-s|--print-armap]
[-A|-o|--print-file-name]
[-n|-v|--numeric-sort] [-p|--no-sort]
[-r|--reverse-sort] [--size-sort] [-u|--undefined-only]
[-t radix|--radix=radix] [-P|--portability]
[--target=bfdname] [-fformat|--format=format]
[--defined-only] [-l|--line-numbers] [--no-demangle]
[-V|--version] [-X 32_64] [--help] [objfile...]
具體而言,nm用來列出目標(biāo)文件的符號清單。
如果沒有為nm命令指出目標(biāo)文件,則nm假定目標(biāo)文件是a.out。下面列出該命令的任選項,大部分支持“-”開頭的短格式和“-“開頭的長格式。
-A、-o或--print-file-name:在找到的各個符號的名字前加上文件名,而不是在此文件的所有符號前只出現(xiàn)文件名一次。
例如nmlibtest.a的輸出如下:
CPThread.o:
00000068TMain__8CPThreadPv
00000038TStart__8CPThread
00000014T_._8CPThread
00000000T__8CPThread
00000000?__FRAME_BEGIN__
…………………………………
則nm-A的輸出如下:
libtest.a:CPThread.o:00000068TMain__8CPThreadPv
libtest.a:CPThread.o:00000038TStart__8CPThread
libtest.a:CPThread.o:00000014T_._8CPThread
libtest.a:CPThread.o:00000000T__8CPThread
libtest.a:CPThread.o:00000000?__FRAME_BEGIN__
…………………………………………………………..
-a或--debug-syms:顯示調(diào)試符號。
-B:等同于--format=bsd,用來兼容MIPS的nm。
-C或--demangle:將低級符號名解碼(demangle)成用戶級名字。這樣可以使得C 函數(shù)名具有可讀性。
-D或--dynamic:顯示動態(tài)符號。該任選項僅對于動態(tài)目標(biāo)(例如特定類型的共享庫)有意義。
-fformat:使用format格式輸出。format可以選取bsd、sysv或posix,該選項在GNU的nm中有用。默認(rèn)為bsd。
-g或--extern-only:僅顯示外部符號。
-n、-v或--numeric-sort:按符號對應(yīng)地址的順序排序,而非按符號名的字符順序。
-p或--no-sort:按目標(biāo)文件中遇到的符號順序顯示,不排序。
-P或--portability:使用POSIX.2標(biāo)準(zhǔn)輸出格式代替默認(rèn)的輸出格式。等同于使用任選項-fposix。
-s或--print-armap:當(dāng)列出庫中成員的符號時,包含索引。索引的內(nèi)容包含:哪些模塊包含哪些名字的映射。
-r或--reverse-sort:反轉(zhuǎn)排序的順序(例如,升序變?yōu)榻敌?。
--size-sort:按大小排列符號順序。該大小是按照一個符號的值與它下一個符號的值進(jìn)行計算的。
-tradix或--radix=radix:使用radix進(jìn)制顯示符號值。radix只能為“d”表示十進(jìn)制、“o”表示八進(jìn)制或“x”表示十六進(jìn)制。
--target=bfdname:指定一個目標(biāo)代碼的格式,而非使用系統(tǒng)的默認(rèn)格式。
-u或--undefined-only:僅顯示沒有定義的符號(那些外部符號)。
-l或--line-numbers:對每個符號,使用調(diào)試信息來試圖找到文件名和行號。對于已定義的符號,查找符號地址的行號。對于未定義符號,查找指向符號重定位入口的行號。如果可以找到行號信息,顯示在符號信息之后。
-V或--version:顯示nm的版本號。
--help:顯示nm的任選項。
ar cs libmy.a//創(chuàng)建一個庫
ar rs libmy.a 1.o//增加一個模塊
ar t libmy.a//顯示庫里的模塊
ar d libmy.a 1.o//刪除一個模塊
這里用int n來表是成績的個數(shù),為了讓這個函數(shù)在其他情況的時候也可以通用
舉個例子:如果你在函數(shù)中直接用10代替,你現(xiàn)在錄入了20個成績,你是不是不僅要在主函數(shù)中修改,還要在float average(float array[ ],int n) 中修改,這樣你寫的函數(shù)就很不利于別人調(diào)用。
ave=average(score,10);后面的10是你輸入的成績的個數(shù)
后面這個問題不解釋,牽涉到形參和實參的問題,你先不用掌握
最后:我看了這個程序,是一個菜鳥寫的,里面有錯誤,最終結(jié)果能計算出平均成績
關(guān)于函數(shù)的程序,多練練就會了。
#include stdio.h
#include stdlib.h//保證可以使用malloc函數(shù)
#include malloc.h//保證可以使用malloc函數(shù)
int max(int *, int);
int min(int *, int);
void main()
{
printf("please input a number:\n");
int n;
while(1){
scanf("%d", n);
if(n0 n=10){
break;
}
printf("wrong number! please input again!\n");
}
int * a = (int *)malloc(sizeof(int)*n);//c語言動態(tài)分配內(nèi)存
printf("please input numbers:\n");
for(int i=0;in;i++){
printf("number %d:\n", i+1);
scanf("%d", a+i);
}
printf("max value is %d\n", max(a, n));
printf("min value is %d\n", min(a, n));
free(a);//釋放內(nèi)存
}
int max(int * a, int n)
{
int max = a[0];
for(int i=1;in;i++){
if(maxa[i]){
max = a[i];
}
}
return max;
}
int min(int * a, int n)
{
int min = a[0];
for(int i=1;in;i++){
if(mina[i]){
min = a[i];
}
}
return min;
}
網(wǎng)頁題目:c語言函數(shù)nm C語言函數(shù)能用office函數(shù)嗎
文章轉(zhuǎn)載:http://jinyejixie.com/article24/dosedce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、做網(wǎng)站、定制網(wǎng)站、靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)