随笔 - 250  文章 - 0  评论 - 288  阅读 - 117万 
10 2012 档案
RDMA
摘要:什么是RDMA RDMA(Remote Direct Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和文本交换操作,因而能解放内存带宽和CPU周期用于改进应用系统性能。RDMA的理解 1.传统意义上的DMA 直接内存访问(DMA) 方式,是一种完全由硬件执行I/O交换的工作方式.在这种方式中, DMA 控制器从CPU 完全接管对总线的控制,数据交换不经... 阅读全文
posted @ 2012-10-30 10:24 夜&枫 阅读(1682) 评论(0) 推荐(0) 编辑
C# 中静态调用C++dll 和C# 中动态调用C++dll
摘要:在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能反编译。这样一来,就涉及C#托管代码与C++非托管代码互相调用,于是调查了一些资料,顺便与大家分享一下:一. C# 中静态调用C++动态链接 1. 建立VC工程CppDemo,建立的时候选择Win32 Console(dll),选择Dll。 2. 在DllDemo.cpp文件中添加这些代码。CodeCode highlighting produced by Actipro CodeHighligh 阅读全文
posted @ 2012-10-24 11:09 夜&枫 阅读(15380) 评论(1) 推荐(3) 编辑
C#几个经常犯错误
摘要:在我们平常编程中,时间久了有时候会形成一种习惯性的思维方式,形成固有的编程风格,但是有些地方是需要斟酌的,即使是一个很小的错误也可能会导致昂贵的代价,要学会善于总结,从错误中汲取教训,尽量不再犯同样错误,注重编程之美,代码的优雅,总结几个平常经常犯的错误。1、在C#编程中,字符型类型是最容易处理出错的地方,代价是非常昂贵,在.Net Framwork中,字符串是一个相当特别的引用类型,string本省就是一个不可继承的密封类,但是它具有了值类型所应用的特点,但是它在CLR中内存还是保存于托管堆之上,也就是说,当我们每次定义一个字符串类型的时候,就在堆内存中开辟一端内存,而当我们字符串被修改之后 阅读全文
posted @ 2012-10-17 10:20 夜&枫 阅读(413) 评论(0) 推荐(1) 编辑
C#各种加密算法的研究
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Security.Cryptography;using System.IO;namespace test_CryptoGraphy{ class Program { /// <summary> /// MD5 加密静态方法 /// </summary> /// <param name="EncryptString">待加密的明文</param&g 阅读全文
posted @ 2012-10-16 11:33 夜&枫 阅读(480) 评论(0) 推荐(0) 编辑
C# 获取当前路径方法
摘要:C# 获取当前路径方法//获取包含清单的已加载文件的路径或 UNC 位置。 public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location; //result: X:\xxx\xxx\xxx.dll (.dll文件所在的目录+.dll文件名) //获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType ( ).Assembly.Location; //result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) . 阅读全文
posted @ 2012-10-11 15:27 夜&枫 阅读(258) 评论(0) 推荐(0) 编辑
C#中调用API
摘要:介绍 API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认API在Windows编程中的重要性。大多数的编程语言都支持API编程,而.Net平台中的MFC(Microsoft Foundation Class Library)构架本身就封装了大部分的API。 做为程序员,我们需要了解API从字面上了解便是编程接口,因此,做为开发者,需要了解的只是API的使用方法。 API根据操作系统、处理器及功能性的不同而拥有很多不同的类型。 操作系统特用... 阅读全文
posted @ 2012-10-11 11:17 夜&枫 阅读(1184) 评论(0) 推荐(0) 编辑
如何在C#中使用 Win32和其他库
摘要:这一次我们将深入探讨如何在 C# 中使用 Win32 和其他现有库。 C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档,因此只能优先处理最重要的部分。许多常用操作都有托管接口,但是还有许多完整的 Win32 部分没有托管接口。 平台调用 (P/Invoke) 是完... 阅读全文
posted @ 2012-10-11 11:06 夜&枫 阅读(578) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示