真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言函數(shù)的大小 c語言各函數(shù)

c語言中函數(shù)名代表函數(shù)地址,那函數(shù)的大?。ň褪呛瘮?shù)指令在內(nèi)存中的字節(jié)數(shù))怎么求?請解釋一下

以在linux下為例,適用gcc編譯一個名為test.c的文件,文件里面有個函數(shù)定義void test(void);

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡(luò)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

#include "stdio.h"

void test(void)

{

printf("test!!!\n");

}

int main(int arg, void *args[])

{

test();

return 0;

}

編譯命令gcc -o test test.c 生成test可執(zhí)行文件。

用readelf -s test命令可以讀出test文件里面的各個段的大小。

Symbol table '.dynsym' contains 6 entries:

Num: Value Size Type Bind Vis Ndx Name

0: 00000000 0 NOTYPE LOCAL DEFAULT UND

1: 00000000 401 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.0 (2)

2: 00000000 391 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)

3: 0804845c 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used

4: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses

5: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__

Symbol table '.symtab' contains 71 entries:

Num: Value Size Type Bind Vis Ndx Name

0: 00000000 0 NOTYPE LOCAL DEFAULT UND

1: 08048114 0 SECTION LOCAL DEFAULT 1

2: 08048128 0 SECTION LOCAL DEFAULT 2

3: 08048148 0 SECTION LOCAL DEFAULT 3

4: 08048174 0 SECTION LOCAL DEFAULT 4

5: 080481d4 0 SECTION LOCAL DEFAULT 5

6: 08048232 0 SECTION LOCAL DEFAULT 6

7: 08048240 0 SECTION LOCAL DEFAULT 7

8: 08048260 0 SECTION LOCAL DEFAULT 8

9: 08048268 0 SECTION LOCAL DEFAULT 9

10: 08048280 0 SECTION LOCAL DEFAULT 10

11: 08048298 0 SECTION LOCAL DEFAULT 11

12: 080482d8 0 SECTION LOCAL DEFAULT 12

13: 0804843c 0 SECTION LOCAL DEFAULT 13

14: 08048458 0 SECTION LOCAL DEFAULT 14

15: 08048468 0 SECTION LOCAL DEFAULT 15

16: 0804946c 0 SECTION LOCAL DEFAULT 16

17: 08049474 0 SECTION LOCAL DEFAULT 17

18: 0804947c 0 SECTION LOCAL DEFAULT 18

19: 08049480 0 SECTION LOCAL DEFAULT 19

20: 08049548 0 SECTION LOCAL DEFAULT 20

21: 0804954c 0 SECTION LOCAL DEFAULT 21

22: 08049564 0 SECTION LOCAL DEFAULT 22

23: 08049570 0 SECTION LOCAL DEFAULT 23

24: 00000000 0 SECTION LOCAL DEFAULT 24

25: 00000000 0 SECTION LOCAL DEFAULT 25

26: 00000000 0 SECTION LOCAL DEFAULT 26

27: 00000000 0 SECTION LOCAL DEFAULT 27

28: 080482fc 0 FUNC LOCAL DEFAULT 12 call_gmon_start

29: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c

30: 0804946c 0 OBJECT LOCAL DEFAULT 16 __CTOR_LIST__

31: 08049474 0 OBJECT LOCAL DEFAULT 17 __DTOR_LIST__

32: 0804947c 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__

33: 08049570 1 OBJECT LOCAL DEFAULT 23 completed.4583

34: 0804956c 0 OBJECT LOCAL DEFAULT 22 p.4582

35: 08048320 0 FUNC LOCAL DEFAULT 12 __do_global_dtors_aux

36: 08048354 0 FUNC LOCAL DEFAULT 12 frame_dummy

37: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c

38: 08049470 0 OBJECT LOCAL DEFAULT 16 __CTOR_END__

39: 08049478 0 OBJECT LOCAL DEFAULT 17 __DTOR_END__

40: 08048468 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__

41: 0804947c 0 OBJECT LOCAL DEFAULT 18 __JCR_END__

42: 08048414 0 FUNC LOCAL DEFAULT 12 __do_global_ctors_aux

43: 00000000 0 FILE LOCAL DEFAULT ABS test.c

44: 08049480 0 OBJECT GLOBAL DEFAULT 19 _DYNAMIC

45: 08048458 4 OBJECT GLOBAL DEFAULT 14 _fp_hw

46: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __fini_array_end

47: 08049568 0 OBJECT GLOBAL HIDDEN 22 __dso_handle

48: 0804840c 5 FUNC GLOBAL DEFAULT 12 __libc_csu_fini

49: 00000000 401 FUNC GLOBAL DEFAULT UND puts@@GLIBC_2.0

50: 08048280 0 FUNC GLOBAL DEFAULT 10 _init

51: 0804837c 24 FUNC GLOBAL DEFAULT 12 test

52: 080482d8 0 FUNC GLOBAL DEFAULT 12 _start

53: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __fini_array_start

54: 080483bc 79 FUNC GLOBAL DEFAULT 12 __libc_csu_init

55: 08049570 0 NOTYPE GLOBAL DEFAULT ABS __bss_start

56: 08048394 40 FUNC GLOBAL DEFAULT 12 main

57: 00000000 391 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_

58: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __init_array_end

59: 08049564 0 NOTYPE WEAK DEFAULT 22 data_start

60: 0804843c 0 FUNC GLOBAL DEFAULT 13 _fini

61: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __preinit_array_end

62: 08049570 0 NOTYPE GLOBAL DEFAULT ABS _edata

63: 0804954c 0 OBJECT GLOBAL HIDDEN 21 _GLOBAL_OFFSET_TABLE_

64: 08049574 0 NOTYPE GLOBAL DEFAULT ABS _end

65: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __init_array_start

66: 0804845c 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used

67: 08049564 0 NOTYPE GLOBAL DEFAULT 22 __data_start

68: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses

69: 0804946c 0 NOTYPE GLOBAL HIDDEN ABS __preinit_array_start

70: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__

其中,

51: 0804837c 24 FUNC GLOBAL DEFAULT 12 test

這行0804837c就是test()函數(shù)的起始地址,24就是test()函數(shù)的指令靜態(tài)存儲空間。

C語言求兩個函數(shù)大小

問題1:

函數(shù)類型是int,應(yīng)該加上

return

表達式;

問題2:

用主函數(shù)中的a,b,c當然是可以的,他們都是局部變量,在不同函數(shù)里邊同名是沒關(guān)系的

void表示空類型,void型的函數(shù)沒有返回值,當前的main函數(shù)不就沒有返回值嗎?所以用void

附加問題:

用數(shù)組存儲,然后進行排序

C語言函數(shù)比較大小

代碼如下:

#include?stdio.h

#include?stdlib.h

int?max(int?a,?int?b)?

{

return?a??b???a?:?b;

}

int?main()

{

int?i,?m,?n;

scanf("%d",?m);

for?(i?=?1;?i??8;?i++)?{

scanf("%d",?n);

m?=?max(m,?n);

}

printf("最大數(shù):%d\n",?m);

system("pause");

return?0;

}

運行結(jié)果:

C語言中的函數(shù)是否區(qū)分大小寫?

用大小寫區(qū)分其實也算一種不錯的做法。

在C\C++中都是區(qū)分大小寫的。包括函數(shù)、標識符等等。

建議你看看匈牙利命名法,我想對你會有很大的幫助:

匈牙利命名法

匈牙利命名法是一種編程時的命名規(guī)范。基本原則是:變量名=屬性+類型+對象描述,其中每一對象的名稱都要求有明確含義,可以取對象名字全稱或名字的一部分。命名要基于容易記憶容易理解的原則。保證名字的連貫性是非常重要的。

據(jù)說這種命名法是一位叫

Charles

Simonyi

的匈牙利程序員發(fā)明的,后來他在微軟呆了幾年,于是這種命名法就通過微軟的各種產(chǎn)品和文檔資料向世界傳播開了?,F(xiàn)在,大部分程序員不管自己使用什么軟件進行開發(fā),或多或少都使用了這種命名法。這種命名法的出發(fā)點是把量名變按:屬性+類型+對象描述的順序組合起來,以使程序員作變量時對變量的類型和其它屬性有直觀的了解,下面是HN變量命名規(guī)范,其中也有一些是我個人的偏向:

屬性部分

全局變量

g_

常量

c_

c++類成員變量

m_

靜態(tài)變量

s_

類型部分

指針

p

函數(shù)

fn

無效

v

句柄

h

長整型

l

布爾

b

浮點型(有時也指文件)

f

雙字

dw

字符串

sz

短整型

n

雙精度浮點

d

計數(shù)

c(通常用cnt)

字符

ch(通常用c)

整型

i(通常用n)

字節(jié)

by

w

實型

r

無符號

u

描述部分

最大

Max

最小

Min

初始化

Init

臨時變量

T(或Temp)

源對象

Src

目的對象

Dest

這里順便寫幾個例子:

hwnd

h

是類型描述,表示句柄,

wnd

是變量對象描述,表示窗口,所以

hwnd

表示窗口句柄;

pfnEatApple

pfn

是類型描述,表示指向函數(shù)的指針,

EatApple

是變量對象描述,所以它表示

指向

EatApple

函數(shù)的函數(shù)指針變量。

g_cch

g_

是屬性描述,表示全局變量,c

ch

分別是計數(shù)類型和字符類型,一起表示變量類

型,這里忽略了對象描述,所以它表示一個對字符進行計數(shù)的全局變量。

上面就是HN命名法的一般規(guī)則。

詳細請見我的參考資料。


分享標題:c語言函數(shù)的大小 c語言各函數(shù)
URL分享:http://weahome.cn/article/doiceho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部