如何用c语言在自己程序中执行另一个程序中(假如不是自己的)的函数 | 您所在的位置:网站首页 › c语言自定义函数的执行顺序 › 如何用c语言在自己程序中执行另一个程序中(假如不是自己的)的函数 |
看你的执行顺序应该是分别执行两个 c 文件。就是两个独立的进程。每个进程有相互独立的虚拟地址空间。你所得到的40059c是另一个进程的函数地址。 在exploit中的40059这个地址是非法使用的。要想在一个进程中使用另一个进程的函数,就必须要用进程间通信。如共享内存,注册函数,共用此函数。 看你的意图是想要在一个文件中利用函数指针调用别的文件中的函数。如果说你只是想要熟悉一下函数指针,那么这种方法是不可取的。因为函数在定义是并不分配存储空间,在调用的时候在栈中分配存储空间,返回时释放。 要想用数值强转成函数地址。这个函数的地址就必须不能改变。那么就需要将函数声明为静态函数。这样麻烦又来了,静态函数是文件内部使用,外部不能引用。所以,你这种做法是不可取的。 我没学过VB,但是C里的子函数都是你调用才运算的呀,函数的类型就是返回值的类型,如float count(int a){。。。;return z;}就定义了一个返回值为float型的函数 你应该查一下 ”C语言如何调用 DOS 命令“ 给你个例子: 假定另外两个程序是 1exe 和 2exe if(1 == input) system("1exe"); if(2 == input) system("2exe"); 以上就是关于如何用c语言在自己程序中执行另一个程序中(假如不是自己的)的函数全部的内容,包括:如何用c语言在自己程序中执行另一个程序中(假如不是自己的)的函数、C语言的子程序该怎么调用、用c语言写一个打开另一个程序,用1和2开选择打开的程序,怎么写呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力! 欢迎分享,转载请注明来源:内存溢出 原文地址:https://outofmemory.cn/zz/10018383.html |
CopyRight 2018-2019 实验室设备网 版权所有 |