09 2011 档案
摘要:一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory() 获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:
阅读全文
摘要:在解析C#结构体指针前,必须知道C#结构体是如何定义的。在c#中同样定义该结构体。C#结构体指针之C#结构体的定义:[StructLayout(LayoutKind.Sequential)] publicstructVGAStat { publicintChannelNum;//通道数量 [MarshalAs(UnmanagedType.ByValArray,SizeConst=64)] publicchar[]Version;//版本信息 publicuintCPUUsage;//CPU占用 publicboolWorkStatusOk;//工作状态 [M...
阅读全文
摘要:C++与C#管理内存方式概述C#最大的一个改进其实就是对内存访问与管理方法的改进。在.NET中内存的管理是全权委托给垃圾回收器,由垃圾回收器来决定何时该释放内存空间。现在普遍采用两种技术来释放程序动态申请的系统内存:首先是以C++为代表的必须以手工方式使应用程序代码完成这些工作,让对象维护引用计数。然后是以.NET以及Java使用的垃圾回收器来完成内存释放工作。在C++中让应用程序代码负责释放内存是低级、高性能的语言使用技术。这种技术非常有效,且可以让资源在不需要时就释放,因为这种技术可以直接访问内存,所以其最大的缺点是可能导致错误。而且如果程序员的记性不太好的话,也会常常忘记释放内存而导致内
阅读全文
摘要:(原文:http://blog.chinaunix.net/u/18297/showart_296028.html)为了能用上原来的C++代码,只好研究下从C# 中调用DLL首先必须要有一个声明,使用的是DllImport关键字:包含DllImport所在的名字空间using System.Runtime.InteropServices;public class XXXX{[DllImport(“MyDLL.dll")]public static extern int mySum (int a,int b);}[DllImport(“MyDLL.dll")]public s
阅读全文