皮皮网
皮皮网

【方舟金币系统源码】【MGS源码】【zljc源码】c dllimport源码

来源:phpstudy怎么部署源码 发表时间:2024-11-30 06:57:03

1.c dllimportԴ?源码?

c  dllimport源码

c dllimportԴ??

       第一步,准备调试环境。源码使用C#编写测试程序以加载并运行dll文件,源码该dll源代码为C语言编写,源码运行结果为黑屏,源码方舟金币系统源码因此C#代码同样在黑屏的源码MGS源码console环境下运行。测试程序代码如下:

       ```csharp

       using System;

       using System.Collections.Generic;

       using System.Linq;

       using System.Text;

       using System.Runtime.InteropServices;

       namespace TestMelp

       {

        class Program

        {

        [DllImport(@"D:\Visual Studio Projects\FileMelp\Debug\FileMelp.dll",源码 CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]

        extern static void cmd_melp(int argc, string[] argv);

        static void Main(string[] args)

        {

        //string cmd = "melp -s -i D:/bin/bit -o D:/bin/output";

        string cmd = "melp -a -i D:/bin/inputD -o D:/bin/bitRight";

        string[] argv = cmd.Split(new char[] { ' ' });

        int argc = argv.Length;

        cmd_melp(argc, argv);

        }

        }

       }

       ```

       由于dll和测试程序不在同一目录,可能出现文件路径问题,源码测试程序中采用了绝对路径。源码另外,源码注意cmd命令行中不能有两个连续空格,源码可通过`Trim`方法解决。源码

       第二步,源码zljc源码定位到含有源代码的源码dll工程。本文中的源码`FileMelp.dll`工程是依据之前的VS dll生成方法创建的,具体实现细节不再详述。在`FileMelp`工程的有约源码`melp.h`和`melp.c`文件最底部添加以下代码:

       ```c

       #ifndef LIB_H

       #define LIB_H

       extern _declspec(dllexport) void cmd_melp(int argc, char **argv);

       /* 加入任意你想加入的函数定义 */

       #endif

       void cmd_melp(int argc, char **argv)

       {

        main(argc, argv);

       }

       ```

       然后按F6键,生成`FileMelp.dll`动态库。

       第三步,将测试程序添加到dll源代码中。在`FileMelp`工程中,dbc源码右键点击`FileMelp`工程选择属性,或者按`Alt+Enter`键,弹出如下界面。在`Configuration Properties`下的`Debugging`选项卡中,选择第一步中生成的测试`.exe`文件。这样就完成了调试前的准备工作。接下来,在需要调试的代码位置添加断点,开始调试。

相关栏目:探索