ChinaUnix.net
相关文章推荐:

gcc 函数调用关系 堆栈溢出

在VC中我可以这样声明一个函数指针 bool (__stdcall *m_pFunction)(int,int,int); 在gcc下怎么做。主要是__stdcall在gcc中有类似的东东吗?

by clzzclzz - C/C++ - 2004-10-10 17:26:19 阅读(2948) 回复(1)

相关讨论

我用fedora13,编译linux0.11内核,代码里面的inline函数要嵌入到调用的地方才能正常运行,我用过-O选项,可以嵌入,但是调试的时候符号与代码对不上号,我去掉-O选项加上-finline-functions和-finline-small-functions都不好用,我很奇怪,这两个选项应该好用的吧,哪位兄弟知道,还请指教,

by bijianing - Linux环境编程 - 2010-10-11 01:06:04 阅读(1118) 回复(0)

感谢大家热情的回复,我后来自己好好想了想,然后翻了翻资料,和同学讨论了下,貌似找到了问题的根源。 main.o的.text被ld贴到了512字节后面,但bios只会将第一个扇区读入内存,所以后面的压根就没有读入,自然一call就挂了。 不知道,我这样理解有没有错。 本来是想在写bootsector的时候就用C,看来还是不能偷懒阿,只有在loader再开始了。 我写了一个引导扇区的程序,想在其中调用用c写的函数,但是发现,一旦在汇编中调用了C的...

by 破碎细胞 - CPU与编译器 - 2012-09-17 10:53:11 阅读(11452) 回复(14)

我在文件中编了多个函数,其中有些没有调用函数,希望编译器能报警!uncalled之类的警告! -Wall 我试了, 请问如何设置! 小弟是新手,本来想搜索以下,但又不知到,用什么关键词! [ 本帖最后由 himalayan1 于 2007-9-3 11:07 编辑 ]

by himalayan1 - CPU与编译器 - 2007-09-05 21:15:16 阅读(2631) 回复(1)

我在linux下调用mysql api函数可是用gcc连接目标文件时它提示如下: [code] test.o(.text+0x1e): In function `main': : undefined reference to `mysql_init' test.o(.text+0x47): In function `main': : undefined reference to `mysql_real_connect' test.o(.text+0x60): In function `main': : undefined reference to `mysql_error' collect2: ld returned 1 exit status [/code]

by redskywy - C/C++ - 2005-07-20 11:03:44 阅读(4426) 回复(7)

在hp-ux上使用gcc编译一个多线程程序。程序在线程中用olog连接 oracle数据库,olog不会返回。请教一下,这是怎么回事吗?

by unios - HP-UX - 2013-04-25 17:59:14 阅读(1747) 回复(1)

我是一只菜菜鸟,请大虾多多指点 :)

by wentian19790712 - C/C++ - 2003-09-08 18:22:57 阅读(921) 回复(1)

溢出攻击的时候发现很多shellcode都不能在FC7 with gcc 4.1.2下运运行,而能够在REDHAT 9 下跑谈跑通,查阅了一下关于堆栈保护技术的资料,发现了一下几种Stackguard、Stackshield、Formatguard、Formatguard、堆栈不可执行、数据段不可执行、增强的缓冲区溢出保护及内核MAC、硬件级别的保护等。 面临的主要问题是gcc 4.1.2采用了什么保护技术?不会以补丁的形式打到gcc上,应该是写到源码里面了。 Stackguard、Stackshield比较通...

by ruger - CPU与编译器 - 2008-08-21 23:50:31 阅读(2915) 回复(8)

VC的函数调用约定有stdcall(函数自身清理堆栈),cdecl(调用者清理堆栈),fastcall(寄存器传递参数)等。 gcc有类似的区分么? 用的扩展的关键字还是别的什么?

by pppadr - Linux环境编程 - 2013-08-01 18:11:51 阅读(971) 回复(3)

如题. 1.ccp 中包含main() 在一个2.cpp文件中调用的了matlab函数. 一般在这个加个头文件,和相应的程序 #include "engine.h" ....... ....... 最后用g++或者gcc编译的时候要连接一些 .lib 文件, 想请教这个gcc(g++)命令如何写,我是这么写的 gcc -ansi -I/opt/matlab52/extern/include -o 1 2.cpp -L/opt/matlab52/extern/lib/sol2 -R/opt/matlab52/extern/lib/so12 -leng -lmat -lmx -lmi -lut 但不对@@

by 浪琴人 - C/C++ - 2004-10-29 02:04:20 阅读(2571) 回复(4)

这阵子在看内存溢出的相关文章——Smashing The Stack For Fun And Profit,发现时间已经很久远了,linux发行版也发生了很多变化,关于压栈时堆栈桢的结构,已经不能和现在的Fedora Core 7 with gcc 4.1.2一致了,压栈的时候依次压入函数参参数、EIP、EBP、函数内部参数,并且4bytes对齐,但是是在intel x86+FC7+gcc 4.1.2+kernel 2.6.23.17的情况下却不同,应该是gcc版本问题导致的,请问,gcc的版本与压栈流程有什么具体关系?使...

by ruger - CPU与编译器 - 2008-08-18 16:05:15 阅读(2599) 回复(4)