博客园 - BugHunter
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=47689
2007-10-21T07:18:25Z
BugHunter
https://www.cnblogs.com/tallman/
feed.cnblogs.com
https://www.cnblogs.com/tallman/archive/2007/10/21/932074.html
C#实现队列 - BugHunter
using System; namespace QueueWithCSharp { /**//// /// LinkList 的摘要说明。 /// /// public class No...
2007-10-21T07:18:00Z
2007-10-21T07:18:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】using System; namespace QueueWithCSharp { /**//// /// LinkList 的摘要说明。 /// /// public class No... <a href="https://www.cnblogs.com/tallman/archive/2007/10/21/932074.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/10/12/922081.html
数据结构面试题 - BugHunter
该文被密码保护。
2007-10-12T03:59:00Z
2007-10-12T03:59:00Z
BugHunter
https://www.cnblogs.com/tallman/
该文被密码保护。
https://www.cnblogs.com/tallman/archive/2007/07/25/831247.html
调用 调用...疯狂的调用 - BugHunter
转向.NET后,手头上往往仍有旧的模块要重用。也许这些模块是Delphi写的,也许是C/C++写的,或者是其它编程语言……为了能把它们移植到.NET下,或者是在.NET中调用,To be or not to be, that is a question。 在这里,我笔记了几个在工作中遇到的几个场景。不过,这里不包括完全使用C#来重写原来用C++编写的程序这种变态的需求。当你被要求做这种事的时候,...
2007-07-25T09:56:00Z
2007-07-25T09:56:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】转向.NET后,手头上往往仍有旧的模块要重用。也许这些模块是Delphi写的,也许是C/C++写的,或者是其它编程语言……为了能把它们移植到.NET下,或者是在.NET中调用,To be or not to be, that is a question。 在这里,我笔记了几个在工作中遇到的几个场景。不过,这里不包括完全使用C#来重写原来用C++编写的程序这种变态的需求。当你被要求做这种事的时候,... <a href="https://www.cnblogs.com/tallman/archive/2007/07/25/831247.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/05/17/750369.html
一个日志记录类 - BugHunter
using System;using System.IO;using System.Net;namespace Utils{public class LogWritter { // 禁止创建同时存在多个对象 private LogWritter(){} private static LogWritter m_logger = null; ...
2007-05-17T08:07:00Z
2007-05-17T08:07:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】using System;using System.IO;using System.Net;namespace Utils{public class LogWritter { // 禁止创建同时存在多个对象 private LogWritter(){} private static LogWritter m_logger = null; ... <a href="https://www.cnblogs.com/tallman/archive/2007/05/17/750369.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/05/10/741639.html
自定义线程池-c#的简单实现 - BugHunter
自定义线程池-c#的简单实现1.ThreadManager.cs using System;using System.Threading;using System.Collections; namespace CustomThreadPool{ /**//// /// 线程管理器,会开启或唤醒一个线程去执行指定的回调方法 /// public class ThreadM...
2007-05-10T07:05:00Z
2007-05-10T07:05:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】自定义线程池-c#的简单实现1.ThreadManager.cs using System;using System.Threading;using System.Collections; namespace CustomThreadPool{ /**//// /// 线程管理器,会开启或唤醒一个线程去执行指定的回调方法 /// public class ThreadM... <a href="https://www.cnblogs.com/tallman/archive/2007/05/10/741639.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/05/04/735948.html
也谈c#调用C++的DLL找不到入口点 - BugHunter
最近由于项目需要,需要做基于协议的压力测试程序,手头上有协议相关的CPP文件和头文件,而网络通讯部分我是用C#实现的,如果用C#语言重新改写C++里的方法,耗时巨大而且也很不方便,所以想着是否可以把C++的方法封装成DLL供C#调用,在网上查了下,发现这方面的资料还是不少的,不过具体做起来会遇到什么问题自己也不是很清楚,由于自己对C++不是很熟悉,并且手头上的CPP文件和头文件都是基于linux上...
2007-05-04T15:06:00Z
2007-05-04T15:06:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】最近由于项目需要,需要做基于协议的压力测试程序,手头上有协议相关的CPP文件和头文件,而网络通讯部分我是用C#实现的,如果用C#语言重新改写C++里的方法,耗时巨大而且也很不方便,所以想着是否可以把C++的方法封装成DLL供C#调用,在网上查了下,发现这方面的资料还是不少的,不过具体做起来会遇到什么问题自己也不是很清楚,由于自己对C++不是很熟悉,并且手头上的CPP文件和头文件都是基于linux上... <a href="https://www.cnblogs.com/tallman/archive/2007/05/04/735948.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/05/03/734874.html
写在协议组件压力测试之前 - BugHunter
想一想来TX已经差不多快两年了,回过头看看自己的走过的路,收获是不少,但仔细想想看,大部分做的东西都是些重复的,基本上写的所有代码都是围绕业务逻辑的,测试执行人员提点需求,我这边就改点代码或者再推翻了重新写个程序,again and again 不是说写业务逻辑代码的工具不好,毕竟可以解决自动化测试的问题,提高了同事的测试效率,减少了测试执行时间,但是一直没有个什么框架性的东西,即便有类似的想法,...
2007-05-02T17:24:00Z
2007-05-02T17:24:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】想一想来TX已经差不多快两年了,回过头看看自己的走过的路,收获是不少,但仔细想想看,大部分做的东西都是些重复的,基本上写的所有代码都是围绕业务逻辑的,测试执行人员提点需求,我这边就改点代码或者再推翻了重新写个程序,again and again 不是说写业务逻辑代码的工具不好,毕竟可以解决自动化测试的问题,提高了同事的测试效率,减少了测试执行时间,但是一直没有个什么框架性的东西,即便有类似的想法,... <a href="https://www.cnblogs.com/tallman/archive/2007/05/03/734874.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/05/02/734321.html
浅解DLL - BugHunter
前言 动态链接库(DLL)很重要,这不用说了,自从微软推出16位操作系统,以后每个版本的操作系统都非常依赖于DLL中的函数。实际上,windows操作系统中几乎所有的内容都由DLL以一种形式或另外一种形式代表着。比如:显示字体或图标存储在GDI DLL中,显示windows桌面和处理用户输入存储在User DLL中,windows编程所需的大量API函数存储在Kernal DLL中等等。DLL的...
2007-05-01T18:47:00Z
2007-05-01T18:47:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】前言 动态链接库(DLL)很重要,这不用说了,自从微软推出16位操作系统,以后每个版本的操作系统都非常依赖于DLL中的函数。实际上,windows操作系统中几乎所有的内容都由DLL以一种形式或另外一种形式代表着。比如:显示字体或图标存储在GDI DLL中,显示windows桌面和处理用户输入存储在User DLL中,windows编程所需的大量API函数存储在Kernal DLL中等等。DLL的... <a href="https://www.cnblogs.com/tallman/archive/2007/05/02/734321.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/05/02/734318.html
如何找到自己写的dll的入口点 - BugHunter
昨天有个同学问我引入dll的时候总报错说"无法找到入口点",怎么办,当时我在睡觉,答应他下午过去,其实我也没有遇到过这个问题,我所引用的都是C#编写的dll而他要引用的是用C++写的dll不能象托管的那样用,只能用[DllImport("XXX.dll") EntryPoint="somefunction" CallingConvention=CallingConvention.StdCall] ...
2007-05-01T18:43:00Z
2007-05-01T18:43:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】昨天有个同学问我引入dll的时候总报错说"无法找到入口点",怎么办,当时我在睡觉,答应他下午过去,其实我也没有遇到过这个问题,我所引用的都是C#编写的dll而他要引用的是用C++写的dll不能象托管的那样用,只能用[DllImport("XXX.dll") EntryPoint="somefunction" CallingConvention=CallingConvention.StdCall] ... <a href="https://www.cnblogs.com/tallman/archive/2007/05/02/734318.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/29/732522.html
c#调用C++的DLL找不到入口点 - BugHunter
C++源码如下: —————————————————a.h—————————————————#ifdef A_EXPORTS#define A_API __declspec(dllexport)#else#define A_API __declspec(dllimport)#endif A_API int F(void);—————————————————a.cpp————————————————...
2007-04-29T08:57:00Z
2007-04-29T08:57:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】C++源码如下: —————————————————a.h—————————————————#ifdef A_EXPORTS#define A_API __declspec(dllexport)#else#define A_API __declspec(dllimport)#endif A_API int F(void);—————————————————a.cpp————————————————... <a href="https://www.cnblogs.com/tallman/archive/2007/04/29/732522.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/29/732520.html
在C#中调用VC编写的dll库 - BugHunter
转自[DotNet笔记] 如何在C#中使用C/C++写的DLL。举一个我做过的例子说明:建立VC工程DllDemo,建立的时候选择MFC AppWizard(dll),选择Regular Dll using shared MFC Dll或者MFC Extension Dll。现在可以写一个函数代码,在DllDemo.cpp文件中添加这些代码。也可以使用新的文件添加代码;extern “C“ __d...
2007-04-29T08:55:00Z
2007-04-29T08:55:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】转自[DotNet笔记] 如何在C#中使用C/C++写的DLL。举一个我做过的例子说明:建立VC工程DllDemo,建立的时候选择MFC AppWizard(dll),选择Regular Dll using shared MFC Dll或者MFC Extension Dll。现在可以写一个函数代码,在DllDemo.cpp文件中添加这些代码。也可以使用新的文件添加代码;extern “C“ __d... <a href="https://www.cnblogs.com/tallman/archive/2007/04/29/732520.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/27/729048.html
C#调用C++编写的COM DLL - BugHunter
在C#调用C++编写的COM DLL封装库时会出现两个问题: 1. 数据类型转换问题 2. 指针或地址参数传送问题 首先是数据类型转换问题。因为C#是.NET语言,利用的是.NET的基本数据类型,所以实际上是将C++的数据类型与.NET的基本数据类型进行对应。 例如C++的原有函数是: int __stdcall FunctionName(unsigned char...
2007-04-26T17:15:00Z
2007-04-26T17:15:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】在C#调用C++编写的COM DLL封装库时会出现两个问题: 1. 数据类型转换问题 2. 指针或地址参数传送问题 首先是数据类型转换问题。因为C#是.NET语言,利用的是.NET的基本数据类型,所以实际上是将C++的数据类型与.NET的基本数据类型进行对应。 例如C++的原有函数是: int __stdcall FunctionName(unsigned char... <a href="https://www.cnblogs.com/tallman/archive/2007/04/27/729048.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/24/725560.html
C# 中的委托 - BugHunter
C# 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与 C 或 C++ 中的函数指针不同,委托是面向对象、类型安全的,并且是安全的。 委托声明定义一种类型,它用一组特定的参数以及返回类型封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一...
2007-04-24T09:07:00Z
2007-04-24T09:07:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】C# 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与 C 或 C++ 中的函数指针不同,委托是面向对象、类型安全的,并且是安全的。 委托声明定义一种类型,它用一组特定的参数以及返回类型封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一... <a href="https://www.cnblogs.com/tallman/archive/2007/04/24/725560.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/23/724073.html
IP头和TCP头数据结构(C#版) - BugHunter
转自[DotNet笔记]IP头和TCP头数据结构(C#版) 1 public struct ip_hdr //IP头 2 { 3 public byte h_lenver; //4位首部长度+4位IP版本号 4 public byte tos; //8位服务类型TOS 5 public ushort tota...
2007-04-23T08:41:00Z
2007-04-23T08:41:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】转自[DotNet笔记]IP头和TCP头数据结构(C#版) 1 public struct ip_hdr //IP头 2 { 3 public byte h_lenver; //4位首部长度+4位IP版本号 4 public byte tos; //8位服务类型TOS 5 public ushort tota... <a href="https://www.cnblogs.com/tallman/archive/2007/04/23/724073.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/23/724032.html
struct和byte[]相互转换(用Marshal类实现) - BugHunter
转自[DotNet笔记]相当于序列化与反序列化,但是不用借助外部文件1、struct转换为byte[] 1static byte[] StructToBytes(object structObj) 2 { 3 int size = Marshal.SizeOf(structObj); 4 IntPtr buffer = Marsha...
2007-04-23T08:16:00Z
2007-04-23T08:16:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】转自[DotNet笔记]相当于序列化与反序列化,但是不用借助外部文件1、struct转换为byte[] 1static byte[] StructToBytes(object structObj) 2 { 3 int size = Marshal.SizeOf(structObj); 4 IntPtr buffer = Marsha... <a href="https://www.cnblogs.com/tallman/archive/2007/04/23/724032.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/tallman/archive/2007/04/18/717829.html
一个封装的异步Socket客户端 - BugHunter
[转自听香水榭]一个封装的异步Socket客户端 1using System; 2using System.Collections; 3using System.Configuration; 4using System.Net; 5using System.Net.Sockets; 6using System.Text; 7 8namespace Beijing.Traffic...
2007-04-18T02:13:00Z
2007-04-18T02:13:00Z
BugHunter
https://www.cnblogs.com/tallman/
【摘要】[转自听香水榭]一个封装的异步Socket客户端 1using System; 2using System.Collections; 3using System.Configuration; 4using System.Net; 5using System.Net.Sockets; 6using System.Text; 7 8namespace Beijing.Traffic... <a href="https://www.cnblogs.com/tallman/archive/2007/04/18/717829.html" target="_blank">阅读全文</a>