vue界面引用dll源码_vue调用dll动态链接库

hacker|
117

文章目录:

如何在vue中配置dllreferenceplugin

你可以去腾讯电脑管家的电脑诊所看看

我记得上次电脑出现问题需要解决的时候看到DLL丢失修复这项了

管家管理页——工具箱——电脑诊所——DLL丢失——看里面有没有跟你一样的情况——有的话选择立即修复就可以了

如何调试带有源代码的dll文件

第一步,调试的准备。

用C#语言编写一个测试dll文件的程序,由于dll源程序是c的,且运行结果是黑屏的,所以C#代码也是运行在黑屏的console环境下。完整代码如下。

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);}}}由于调试的FileMelp.dll文件和本程序不在同一个文件夹下,容易出现文件地址问题,所以本测试程序的文件均采用绝对地址。另外cmd的格式要求不能有两个连续的空格,也可以通过使用Trim函数,解决这个问题。

第二步,定位到自己改写的带有源代码的dll工程。

本文的FileMelp.dll工程,是通过本空间的生成VS dll那篇博客生成的,具体实现方法不在赘述。下面的两段代码分别添加到FileMelp工程melp.h和melp.c文件最下面。

#ifndef LIB_H

#define LIB_H

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

/* 加入任意你想加入的函数定义*/#endifvoid cmd_melp(int argc, char **argv){main(argc,argv);}按F6,上述步骤实现FileMelp.dll动态库的生成。

第三步,添加测试程序到dll源代码处。

在FileMelp工程里面,右击FileMelp工程,选择属性。

或者按Alt+Enter,弹出如下界面。

在Configuration Properties\Debugging\Command选择第一步生成的测试.exe文件。这样完成了调试前的准备。接下来,在需要调试的代码地方,添加断点。

c#在封装的dll控件后,在主界面调用这个控件,如果需要更新这个控件,如何实现?

如果需要更改控件的内部实现或者逻辑,需要修改dll的源码,并更新对dll的引用;如果只是更改控件的外观样式,简单设置控件的对应属性即可。

1条大神的评论

  • avatar
    访客 2022-07-06 下午 07:22:45

    需要更新这个控件,如何实现?如果需要更改控件的内部实现或者逻辑,需要修改dll的源码,并更新对dll的引用;如果只是更改控件的外观样式,简单设置控件的对应属性即可。

发表评论