这个好像查不到,我自己也研究不出来
我自己写了一个程序 A,然后写了一个程序 B,想从 B 程序直接使用 A 程序的方法,但是不运行 A 程序(因为 a 程序有一些东西我不想打印出来),我只想调用 A 程序的方法,这个有办法用 exec 函数实现吗?
1
Boxjan 2020-02-16 01:37:48 +08:00 via Android
两个都是你写的,include 不行么
exec 系函数没啥思路,但你可以看看类似于调用动态链接库那种方式去调 A 里的函数 |
2
iTvX OP |
3
felix021 2020-02-16 01:53:46 +08:00
exec 干不了你说的事情,建议多了解下 exec 具体做了啥(可参考 APUE )。
提供两个思路 1. 将 A 的这个方法抽出来,实现成一个库,A、B 都引用,B 直接调用该库 2. 如果该方法还依赖已经启动的 A 的一些数据,那么应该由 A 提供一个 rpc api,B 来调用。 |
4
virusdefender 2020-02-16 10:38:43 +08:00
给 A 程序加一个命令行参数,./a --func a --args 123,然后 exec 这个东西,不要和日常使用一个入口不就行了
|
5
stevenbipt 2020-02-16 14:01:00 +08:00
把 A 用到的方法封装起来然后 b 去调用这样能行吗,如果用 exec 去调用不作处理在 B 中是没有输出的(写入文件什么的请忽略。。。)
|
6
nightwitch 2020-02-16 17:20:57 +08:00
不可能在 A 程序不配合的情况下,从 B 运行 A 内部的函数的。如果你只是不想要 a 程序的输出的话,在 B 里面拉起 A 的时候,重定向 A 的输出到 /dev/null 就行了。
|