imp dll时遇见的非常恶心的问题】的更多相关文章

我需要导入dll库中这样一个函数VM661JTCPDLL_API int admin_login(sel_admin_ret* sel_admins, int num, char* admin_name); 使用dll的工程和这个dll的工程都是我编译的 因为需求有变,这个函数需要添加一个参数作为flag bool* bCanEndLogin 于是我改成VM661JTCPDLL_API int admin_login(sel_admin_ret* sel_admins, int num, cha…
在引用项目外的dll时,显示类库中的注释可按以下步骤: 方法或变量用summary添加注释,如:         /// <summary>发送post请求         /// </summary>        /// <param name="url">请求的url</param>        /// <param name="postString">发送到数据 例如:"name=xha…
操作系统:Windows 7 IIS:7.5 ajax.dll现在用的比较少,但是以前的项目有这个,使用的时候很容易出现这个错误,因为总是会遗漏配置. 使用ajax.dll时,js脚本错误,无法调用后台方法-XXX未定义 使用ajax.dll,首先项目引用ajax.dll,然后在customer类中定义方法 /// <summary> /// 得到用户的信息 /// </summary> /// <param name="email"></pa…
外壳exe通过反射调用dll时,dll是 4.0的框架,外壳exe也需要编译成4.0的框架,如果dll本身有调用32位的dll,那么外壳exe也需要编译成32位. 调试时报的那个错,直接继续运行,不影响. 我昨天一直再找未什么报这个错,还没办法解决,先不管.后面有时间我再看看…
无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类 型“Excel._Application”.此操作失败的原因是对 IID 为“{000208D5 -0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错. (异常来 自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 经过多般折腾,还是没什么更好的办法.…
C++(Win 32) C# char** 作为输入参数转为char[],通过Encoding类对这个string[]进行编码后得到的一个char[] 作为输出参数转为byte[],通过Encoding类对这个byte[]进行解码,得到字符串 C++ Dll接口: void CplusplusToCsharp(in char** AgentID, out char** AgentIP); C#中的声明: [DllImport("Example.dll")] public static…
环境:windows8.1专业版 问题:启动C:\Windows\System32\logiLDA.DLL时出现问题,找不到指定模块 每次开机都会弹出上图所示的信息. 经过查找是罗技鼠标驱动的问题:而把驱动卸载之后还是会弹对话框,更让人受不了的是C:\Windows\System32\logiLDA.DLL是存在的. 大部分的情况是系统盘不在C盘,而我的在C盘,同样出现这样的问题. 系统盘不在C盘的解决办法: 有遇到的没?Windows8不是安装在C盘,启动时提示LogiLDA.dll找不到-远…
部分时候,我们需要自己封装一些小工具来简化我们的工作. 实验时,偶然发现Unity3d的console在双击进行debug信息的输出定位时,只能跟进到dll的上一层,因此我们可以将unity3d自带的Debug进行封装,以方便我们在游戏发布时对log信息的屏蔽. 代码如下: using UnityEngine; public class MyDebug { public static bool m_bStartTest = true; public static void Log(object…
cmd命令下--执行imp命令时,出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决办法:在imp命令里加入 statistics=none (不导入数据库统计信息) 另附:STATISTICS 缺省值:ALWAYS 说明:指定导入时关于数据库统计信息如何处理 有如下选项: ALWAYS 总是导入数据库统计信息. NONE 不导入数据库统计信息. SAFE 当dmp中统计住处没有问题时导入数据库统计信息,如果有问题,则重新生成统计信息. RECALCULATE 总…
前一篇文章介绍了为何要共用内存管理器,有人要问可不可以在编写dll时更通用一些,可以兼顾其它编译器(如果是其它编译器的话,Delphi写的dll不能与其它语言共用内存管理器),采用一定的策略来避免在dll内创建RTL自动管理的数据类型做参数或返回值,这样其它非Delphi的开发语言也可以用了! 完全可以! 一般的策略如下: 1.在主调函数中申请一块空间 2.把这个空间的地址传送给dll 3.dll内部进行逻辑运算,得到结果后把值添到主调函数传递过来的空间上 4.主调函数获取值,根据业务规则对空间…
问题  无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”.此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错. (异常来自 HRESULT:0x80…
原文:动态加载Dll时,通过Type生成类对象 转:http://www.cnblogs.com/zfanlong1314/p/4197383.html "反射"其实就是利用程序集的元数据信息. 反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间. 1.假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型):  Assembly assembly = Assembly.LoadFile("程序集路径,不能是相对路径");…
当程序调用dll时,获取dll路径的方法: HMODULE hMod = GetModuleHandle(_T("axload.dll")); if (hMod != NULL) { TCHAR szBuffer[MAX_PATH] = { 0 }; GetModuleFileName(hMod, szBuffer, sizeof(szBuffer)/sizeof(TCHAR)-1); _DEBUG_OUT("path: %s\r\n", szBuffer); }…
今天尝试用CodeBlocks写了一个简单的Dll,发现生成的 dll 文件导出的函数名后面都有一个 @xxx 从生成的 libDll2.def 中看到: EXPORTS DllMain@ @ Max@ @ SomeFunction@ @ funReturnStr2@ @ funReturnStr@ @ updateInt2@ @ updateInt@ @ updateStr@ @ 至于为什么导出的函数名后面会带@的解释: _stdcall调用约定的函数会有@,后面的数字表示参数总共所占字节数,…
写了一个C++的LogLog Logit 四参数等算法的接口dll,给C#调用,但是发现传参有问题 如 extern "C" _declspec(dllexport)  bool TestFunc(EnumMethod eMethod, unsigned int uiPoints, const double *parA, const double *parB, STRUCTTEST &sTest) 前面的传参非常好解决 枚举本地自定义一个,两个double指针直接ref传参 ]…
最近打算使用虚拟机安装个系统玩玩,就去网站上找了教程安装下win7系统.但是在安装过程中遇见两个问题,现在把遇见的问题总结记录一下,以及解决方法罗列一下. 我当时使用的是VMware 12版的,系统是电脑公司的win7_X64.iso镜像文件.具体的安装流程网上都有,我当时是参考此文的安装流程.VMware虚拟机安装Win7教程 问题一:启动WinPE光盘系统进入安装系统时,桌面只有我的电脑和我的文档/我的电脑和启动外部软件. 正确的进入界面应该是这样的: 解决方法: 问题二:系统已经安装好了但…
问题描述 使用EFK(Elasticsearch, Fluentd and Kibana)在收集日志的解决方案中, 可以先把日志发送到EventHub中,然后通过Logstash消费EventHub中的事件并分发出去.但是在使用Logstash的过程中,遇见了连接不上EventHub的错误,和Receiver一直不停关闭的问题. 错误的信息分别为: Exception while initializing stores, not starting partition manager com.mi…
问题描述 使用APIM,在 Inbound 中对请求的Body内容进行解析.客户端请求所传递的Request Body为XML格式,需要从Request Body中解析出多个(Element)节点值,然后设置通过(set-variable)为参数在后续使用. 但是验证发现,当且只当使用一个set-variable 从 Request Body中读取数据时候,是可以成功的.如果要读取第二个,第三个时,始终会遇见一个诡异的错误 Expression evaluation failed. Object…
1.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automatically manage signing(Ps.但是在beat2版本我用的时候,完全不可以,GM版本竟然神奇的又好了.)   下面我来说说可能会出现的问题: 1.Xcode未设置开发者账号情况下的截图 解决办法是:大家在Xcode的偏好设置中,添加苹果账号,即可. 2.设备机器未添加进开发者的Device情况下的截图   解决办法是:大家在官网将设备添加进开…
背景:oracle正式库通过exp命令导出的dmp备份包,现在通过imp命令还原到测试库,测试库上面的表数据全部不要,要用新的. 方法:先删除用户.用户所在表空间,再新建用户和表空间,再imp导入. 过程: 1.用plsql查看用户的权限等信息并备份,例如 -- Create the user create user testuser;-- Grant/Revoke object privileges grant execute on SYS.DBMS_JOB to testuser;-- Gr…
问题: 在编写DLL程序的时候,按下F9或者按下那个绿色的箭头,会报错,如下 原因: 是因为你按下的F9或者那个绿色箭头是表示“Run”这个程序,但是DLL不是可执行文件,所以当然不能够运行,所以就会报错 上面那句错误信息的意思是,让你找到一个动态加载这个DLL的应用程序来进行调试,通过菜单:Run|Parameters进行设置 正常的编译DLL的方法 按F9或者那个绿色的箭头是编译可执行的应用程序的方法. 编译DLL也可以用这个方法编译成功,但是会提示这个错误. 如果你理解了这个错误就不会觉得…
问题现象:用LoadLibrary加载DLL一直返回0句柄,无法进行下一步操作,但同样的代码可以访问到别的DLL.问题处理:1.你加载的路径是不对的,一定要看好路径.2.你是在虚拟机中操作的DLL,因为有的单位为了防破解,加了什么东东,在真机上可以用,虚拟机中就不行.3.你加载的DLL同时访问了别的DLL或是文件,如果你的复制一个DLL到你的目录中是不行.必须复制所有的文件.…
最近一直被C# 调用native code时的内存错误,各种错误所困扰.而且在.net 4.0中非托管代码的异常不能被托管代码抓获,导致程序直接crash. 最终找到了.net 的方法.MSDN有关于expection 的详细解释. 1. 在.net 3.5中是可以抓取AccessViolationException这个C崩溃的异常的,因此可以尝试使用这个.net 3.5重新编译 2.在.net 4,4.5中可以尝试在app.config 文件中加上如下的配置, <configuration>…
最近下载安装sublime Text3后,在安装Install Package时遇到了几个问题,网上搜了一大圈终于解决了,特此记录为以后之便. 一.下载安装sublime Text3 1.sublime Text3下载 官网地址:https://www.sublimetext.com/3 打开链接,选择对应系统的版本下载即可.(本人电脑是wi10 64位,下载Windows 64 bit ) 2.sublime Text3安装 (1)下载Windows 64 bit后,双击即可安装.(注意勾选A…
下载libssl-1_1.dll  丢到apache目录下的bin目录下(貌似要32位的)…
DLL注入排除bug的思路步骤. 1.在VS中监视输入err,hr检查DLL是否注入成功 2.OD断点loadlibraryW,loadlibraryA是否已经注入成功,eax是否有值. 3.检查路径是否是中文+空格的路径 4.检查注入的DLL是否是当前项目的DLL OD查看DLL注入模块是否成功 1.将运行注入DLL的exe,将DLL注入到exe中. 2.打开OD-附加被注入的exe进程,然后[查找]-[所有模块中的名称] 3.在loadlibrary处F2下断点,如果不确定是A版本或者是W版…
导出命令:exp 用户名/密码@localhost:5050/bkcyunty file=D:\bak\db.dmp log=D:\bak\db.log INDEXES=n STATISTICS=none 我的导入命令:imp 用户名/密码@本机IP/orcl full=y file=dmp文件的地址,使用这个命令报错了. 报错的信息: IMP-00058: ORACLE error 12541 encounteredORA-12541: TNS:no listenerIMP-00000: Im…
Unmanaged Exports是一个将.NET编写的静态托管函数导出成可供C/C++等直接调用的非托管函数的工具. 已经在上篇文章介绍过了,这里不再复述. 限制 你不能导出在同一个class中的重载函数,即便你指定了不同的导出名称. 另一个限制是你不能递归调用导出函数. 生成平台选择一个具体的平台(不能是AnyCPU否则该工具不生效),生成解决方案即可. 该工具最新版只支持vs2008以后的vs,因为vs2008及以前的版本不支持nuget. 工具官方网站及详细说明: https://sit…
[DllImport("user32.dll", CallingConvention = CallingConvention.WinApi)] public static extern IntPtr FindWindow( [MarshalAsAttribute(UnmanagedType.LPWStr)] string lpWindowClass, [MarshalAsAttribute(UnmanagedType.LPWStr)] string lpWindowName ); 在相…
结构只能以地址方式进行传递,dll只能传递结构不能传递类 VS端: [DllImport(@"D:\程序\VC程序\MfcDllspace\Debug\space.dll")] private static extern bool PassStruct(IntPtr skintptr); [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct sngk…