如何在你的软件中实时编译并执行C/C++源程序

本文介绍了如何在软件中直接执行C/C++源程序,通过YXB_RunCppCode函数实现。当codelen为0时,函数从文件读取源代码;否则,从缓冲区执行。函数会编译源代码,若编译失败则返回错误信息,成功则生成并执行YC可执行代码。示例代码展示了在YC++和VC6.0环境中使用该功能的方法。
摘要由CSDN通过智能技术生成

            如何在你的软件中实时编译并执行C/C++源程序

          当人们发布一个软件时, 往往需要提供一些插件接口给OEM进行二次开发,
同时提供若干DLL库或COM组件给用户调用.
          在本人看来这些方法能解决一些问题, 但不够灵活, 具有很多缺陷与限制.
这里我给读者提供一个方法: 直接执行C/C++源程序!

    执行C/C++源程序的函数是:

    int YXB_RunCppCode(char *codebuf,int codelen,int argc,char **argv);

    参数
    codebuf,codelen
  当codelen = 0时, codebuf指向一个文件名,该文件是C/C++源程序或YC执行代码。
  当codelen > 0时, codebuf指向一个缓冲区, 该缓冲区存放C/C++源程序或YC执行代码,
     缓冲区长度为exe_len字节。

      当codebuf表示文件名时, 该函数将文件读入缓冲区并判断它是否是YC执行代码,
  如果是则执行它, 执行完后返回0; 如果不是, 则编译它, 若编译出错则将错误信息
  存入文件c:/yc01/temp/y.err中并返回非0值, 若编译通过, 则生成YC可执行代码并执行它,
  执行完后返回0。
      当codebuf表示缓冲区时, 除无需将文件读入外, 执行过程与上述一样.
    argc, ar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值