2014年9月20日

摘要: 从抽象类 System.Attribute 派生的类(不论是直接的还是间接的)都称为属性类。一个关于属性类的声明定义一种新属性,它可以被放置在其他声明上。按照约定,属性类的名称带有 Attribute 后缀。使用属性时可以包含或省略此后缀。http://msdn.microsoft.com/zh-c... 阅读全文
posted @ 2014-09-20 22:04 冰花ぃ雪魄 阅读(289) 评论(0) 推荐(0)
 
摘要: 本主题说明 DllImport 属性的常见用法。第一节讨论使用 DllImport 从托管应用程序调用本机代码的优点。第二节集中讨论封送处理和 DllImport 属性的各个方面。从托管应用程序调用非托管代码当在托管应用程序中重用现有的非托管代码时,DllImport 属性非常有用。例如,托管应用程... 阅读全文
posted @ 2014-09-20 22:01 冰花ぃ雪魄 阅读(239) 评论(0) 推荐(0)
 
摘要: API函数是构筑Windows的基石, 是Windows编程的必备利器。每一种Windows应用程序开发工具都提供间接或者直接的方式调用Win32API,C#也不例外。使用Win32API的一个好处就是,我们可以实现更多的功能。首先,要引入命名空间:using System.Runtime.Inte... 阅读全文
posted @ 2014-09-20 21:02 冰花ぃ雪魄 阅读(403) 评论(0) 推荐(0)
 
摘要: 刚碰到个问题,我的一个项目中引用了一个dll,这个dll又引用了另一个dll,我把这俩个都放在bin文件夹下,但是会报错,说第二个dll找不到。把它放到系统文件夹system32下就没事了。但是遇到一个奇怪的问题,我的各部分代码是只有的:Text.cint plus(int a,int b){ re... 阅读全文
posted @ 2014-09-20 20:23 冰花ぃ雪魄 阅读(161) 评论(0) 推荐(0)
 
摘要: 如何逐步实现动态库的加载,类型的匹配,动态链接库函数导出的定义,参考下面宏定义即可:#defineLIBEXPORT_APIextern"C"__declspec(dllexport)第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和:LIBEXPORT_APIint... 阅读全文
posted @ 2014-09-20 11:23 冰花ぃ雪魄 阅读(283) 评论(0) 推荐(0)
 
摘要: 经过一晚上的折腾,还是下点决心将些许的心得写下来,以免以后重复劳动。C#与C/C++相 比,前者的优势在于UI,后者的优势在于算法,C++下的指针虽然恶心,若使用得当还是相当方便的,最重要的问题是,市面上很多流行的开发工具库,几乎没 有不支持C++的,但全面支持C#只能说是难得,在CPU发展到今天,... 阅读全文
posted @ 2014-09-20 10:50 冰花ぃ雪魄 阅读(254) 评论(0) 推荐(0)
 
摘要: 1、创建新C#控制台应用程序,项目命名createBll,打开Program.cs重命名为TestA(可以不重命名)并修改代码,如图:写好后,可以写其它的类.cs文件2、完成后,点击菜单栏的“项目”,下拉单选择“createDll属性”,打开如图窗口在输出类型选择“类库”,然后关掉该窗口,生成解决方... 阅读全文
posted @ 2014-09-20 10:07 冰花ぃ雪魄 阅读(346) 评论(0) 推荐(0)
 
摘要: 编程经常碰到,理解的总不是很透彻,在这里查阅资料总结一下!在编写程序的时候,我们常用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma once :这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,避免文件被重复包含。#prag... 阅读全文
posted @ 2014-09-20 10:02 冰花ぃ雪魄 阅读(477) 评论(0) 推荐(0)
 
摘要: 首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直... 阅读全文
posted @ 2014-09-20 09:54 冰花ぃ雪魄 阅读(250) 评论(0) 推荐(0)