c#-急啊!!C# 动态库调用问题

问题描述

急啊!!C# 动态库调用问题

调用别人的动态库,窗体模式下可以调用成功,有返回值;
[DllImport("lisreportdll.dll", EntryPoint = "f_lisinit")]
private static extern int f_lisinit(string as_connectstring, string as_printer, string as_hosname);

实现:
public int lisinit(string connectstring, string printer, string hosname)
{
int isok= f_lisinit(connectstring, printer, hosname);
return isok;

}

窗体按钮:
private void button1_Click(object sender, EventArgs e)
{
int i = lisinit("111","","");
}

这里设断点,int isok= f_lisinit(connectstring, printer, hosname);
有返回值

但是用控制台应用程序却不行,一直卡在方法那里!

static void Main(string[] args)
{
int i = lisinit("111","","");
Console.WriteLine(i);
Console.ReadKey();
}

时间: 2024-08-03 13:54:02

c#-急啊!!C# 动态库调用问题的相关文章

Linux 静态库&动态库调用

1.什么是库在windows平台和linux平台下都大量存在着库.本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.由于windows和linux的本质不同,因此二者库的二进制是不兼容的.本文仅限于介绍linux下的库.2.库的种类linux下的库有两种:静态库和共享库(动态库).二者的不同点在于代码被载入的时刻不同.静态库的代码在编译过程中已经被载入可执行程序,因此体积较大.共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小.3.库存在

非常着急!关于C动态库调用TUXEDO!熟悉的请进!

问题描述 现在做的一个项目,与第三方通使用TUXEDO,以前没有用过,我这边用C写了一个动态库,编译时将TUXEDO客户端安装路径下的LIB目录全部链接,编译没有问题,我这边主程序调用写好的动态库时,执行到TUXEDO的tpchkauth()函数时报错,错误信息为:NLS:4:CannotopenmessagecatalogLIBWSC_CAT,set1,num1139;checkTUXDIR=NULL,LANG=C操作系统是SUSELINUX9TUXDIR环境变量设置没有问题!用echo都可以

动态库调用静态库示例讲解_Linux

生成动态库: 需要的目标文件得用-fPIC选项生成. 而静态库所需的目标文件可以不用-fPIC选项. 例: 复制代码 代码如下: /////// static.h void static_print(); ///////static.cpp #include <iostream> #include "static.h" void static_print() {      std::cout<<"This is static_print functio

c#子线程调用动态库耗时比主线程长

问题描述 问一个问题,调用一个第三方动态库(主要功能是执行指定exe并返回结果)我现在在主线程调用动态库,耗时10s但是在子线程调用动态库,耗时30多秒,这个会有什么原因导致的exe程序有一些依赖文件,放在根目录下,system32下面也放了一份子线程主要是通个异步委托调用方法 解决方案 解决方案二:是子线程内耗时30多秒主线程和子线程的代码有区别吗?你的线程是怎么开的?你说到了依赖文件,这跟方法有什么关系?你什么都是文字,让人情何以堪解决方案三:1.耗时30秒:是我调用动态库开始计时,到返回结

自己在linux上编译、链接、动态库和静态库的学习笔记

在平常的项目中,我们都是使用公司要求的makefile.makedebug一类的文件,因此,在编译.链接.生成和链接动态库与静态库的时候,我们只是简单的使用一些已经设置的变量,只是简单的修改.添加一些文件名,或许这次我们编译通过了,但是,在某一个时候,可能出现了一个问题,无论简单与否,因为平常没有留意,导致的结果可能是花了好长时间才能解决.而如果平常只是简单的留一下心,或许这些问题都是可以避免的. 因此,今天我自己使用几个文件,编译动态库.静态库以及动态库和静态库的嵌套调用等问题,尽量还原我在项

C++windows内核编程笔记day11 win32静态库和动态库的使用

windows库程序: 静态库: 源代码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB 动态库: 函数被程序或其他动态库调用,被调用时,代码只有1份,文件后缀.DLL 静态库(C语言): 创建时,选择文本类型文件,输入Clib.c,设置输出路径 ../lib/Clib.lib int Clib_add(int a,int b) {return a+b; } 同一上工作区,建立控制台程序(.c文件)调用静态库: #include<STDIO.H> #pragma comm

分析Windows和Linux动态库_unix linux

    摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植.本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验. 1.引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用

动态库和静态库

 1.静态库不需要main函数,要想生成lib,要修改属性à常规à配置类型à改成dll 2.静态库中的头文件只是说明,是给程序员看的,其实lib里面已经有了接口. 3.链接lib的时候程序的体积就变大了. 4.静态库更新的时候,需要重新生成,然后调用 5.动态库调用就不用重新生成. 6.动态库的调用代码:(使用的是HMODULELoadLibraryA的方式进行调用) 接口 7.编写的动态库如下: #include<stdio.h> #include<stdlib.h> #in

&amp;amp;lt;急&amp;amp;gt;关于jni调用第三方动态库不成功

问题描述 <急>关于jni调用第三方动态库不成功 我在自己的方法中调用第三方动态库的方法可是要么就报该方法没有定义要么就出现如下错误求解答在线等..!!!