小编Dan*_*ans的帖子

在GCC或Cygwin中创建DLL?

我需要帮助将脚本("iterator.c")编译成DLL.我不能用VS2010,因为它支持在C99标准添加到C的功能(我使用"complex.h",但VB不支持它).

我一直在寻找替代品,但我发现的只是GCC,我不知道如何安装/使用(真的,我花了半个小时阅读文档,我甚至不知道如何我应该安装它,和Cygwin,我已经安装但我不知道如何使用它们.另外,我已经安装了MinGW,但我认为它与Cygwin或多或少相同,我仍然不知道如何制作DLL.

这并不像我一直都懒惰甚至没有尝试过,只是因为这些编译器并不像我以前用过的任何东西(主要是Python IDLE和Visual Studio,它们让你很容易).我有点迷茫.

有人可以给我一些关于如何使用这个工具制作我可以从另一个脚本访问的DLL的建议吗?这非常重要.

先感谢您.

c compiler-construction dll gcc c99

12
推荐指数
1
解决办法
1万
查看次数

在python中使用ctypes来访问C#dll的方法

我想在我的python程序的关键部分实现C#代码,以使其更快.它说(在Python文档和本站点上)您可以加载动态链接库(以及PyDocs),如下所示:

cdll.LoadLibrary("your-dll-goes-here.dll")

这是我的代码中负责此功能的部分:

from ctypes import *
z = [0.0,0.0]
c = [LEFT+x*(RIGHT-LEFT)/self.size, UP+y*(DOWN-UP)/self.size]
M = 2.0

iterator = cdll.LoadLibrary("RECERCATOOLS.dll")

array_result = iterator.Program.ITERATE(z[0],z[1],c[0],c[1],self.iterations,M)

z = complex(array_result[0],array_result[1])
c = complex(array_result[2],array_result[3])
last_iteration = int(round(array_result[4]))
Run Code Online (Sandbox Code Playgroud)

我使用的RECERCATOOLS.dll就是这个(C#代码,而不是C或C++):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KarlsTools;

public class Program
{
    public static Array ITERATE(double z_r,double z_i,double c_r,
                        double c_i, int iterations, 
                        double limit)
    {
        Complex z = new Complex(z_r, z_i);
        Complex c = new Complex(c_r, c_i);

        for (double i = 1; …
Run Code Online (Sandbox Code Playgroud)

c# python dll ctypes load

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

dll ×2

c ×1

c# ×1

c99 ×1

compiler-construction ×1

ctypes ×1

gcc ×1

load ×1

python ×1