我正在尝试创建我的第一个c#动态链接库。我希望能够用win32API从ruby中调用它的方法/函数。我制作了这个dll:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassLibrary1
{
public class Class1
{
public int PropA = 10;
public void Multiply(Int32 myFactor)
{
我正在用Rust测试一些C代码,但只对windows上的C静态库链接生锈。
问题是导出的C函数只被导出到动态库,而不是静态库,因为我不能在生锈中使用dll,所以我不能真正链接到没有导出符号的库(如果我尝试,铁锈会抱怨未解决的引用)。
有些事我试过了:
普通链接:这些方法曾经用于编译,但我失去了它,因为所有其他普通链接都出错了。
静态库与动态库链接:当然,但是它没有工作,导出的符号也没有出现在dumpbin /exports中,或者静态库依赖于动态库.
静态链接到与动态链接的对象:
代码:
C:
// Note this is compiled with CMake to generate bo
得到了一个奇怪的,我知道这是一个愚蠢的东西,但我看不到它的任何东西!
我在VB.net中创建了一个动态链接库(不,我不能更改它!:-),并从C#调用它。问题出现在在C#中创建对象时,我得到的消息是它有“一些无效的参数”。
DLL中的构造函数代码如下:
Sub New(ByRef Connection As IConnection)
C#中的代码是:
IConnection conn = new Connection();
CustomObject test = new CustomObject(conn)
它对第一行很满意,但在第二行给出了错误消息(“一些无效参数”)。
我还在VB.net
我目前正在做一个使用C++和Excel的项目。我做了一个动态链接库把C++函数导出到Excel。我的问题是,当我在Excel中测试我的函数时,我想修改我的动态链接库,我需要退出Excel,因为它仍在运行.dll文件,而Visual studio C++不能删除以前的动态链接库来创建另一个动态链接库。
每次关闭并再次启动Excel有点烦人,所以我想知道是否有一种方法可以在VBA脚本完成时关闭对Dll的访问。
谢谢!