在别的地方看的<<给程序员介绍一些C++开源库>>,记录给大家共同学习
摘要:在别的地方看的>,记录给大家共同学习首先说明这篇文章不是出自我手,大家共同学习。引用地址:http://oss.org.cn/?action-viewnews-itemid-61998。C++开源库,欢迎补充。C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,比如Android必定要推
阅读全文
posted @
2013-06-29 07:59
spinsoft
阅读(339)
推荐(0)
用户态到内核态切换之奥秘解析
摘要:学号:SA12**6112本文将主要研究在X86体系下Linux系统中用户态到内核态切换条件,及切换过程中内核栈和任务状态段TSS在中断机制/任务切换中的作用及相关寄存器的变化。一:用户态到内核态切换途径: 1:系统调用 2:中断 3:异常对应代码,在3.3内核中,可以在/arch/x86/kernel/entry_32.S文件中查看。二:内核栈内核栈:Linux中每个进程有两个栈,分别用于用户态和内核态的进程执行,其中的内核栈就是用于内核态的堆栈,它和进程的task_struct结构,更具体的是thread_info结构一起放在两个连续的页框大小的空间内。在内核源代码中使用C语言定义了...
阅读全文
posted @
2013-06-27 13:29
spinsoft
阅读(860)
推荐(0)
[分享]收集的Linux学习资源
摘要:下面是我收集的一些Linux资源,与大家分享。大家共同学习,一起进步。国内的专业Linux网站(GB)1. ChinaUnix:http://www.chinaunix.net/2. Linux伊甸园论坛: http://bbs.linuxeden.com/index.php国内的专业Linux网站(BIG5)1. 香港Linux用户协会: http://wiki.linux.org.hk/w/Mainpage,了解香港Linux的好网站。2. Linux@Taiwan:http://www.Linux.org.tw/,台湾的Linux爱好者组织,CLDP的家,列有翻译的Linux HOWTO
阅读全文
posted @
2013-06-26 12:47
spinsoft
阅读(292)
推荐(0)
C#程序开发中经常遇到的10条实用的代码
摘要:1 读取操作系统和CLR的版本OperatingSystem os = System.Environment.OSVersion;Console.WriteLine(“Platform: {0}”, os.Platform);Console.WriteLine(“Service Pack: {0}”, os.ServicePack);Console.WriteLine(“Version: {0}”, os.Version);Console.WriteLine(“VersionString: {0}”, os.VersionString);Console.WriteLine(“CLR Versi
阅读全文
posted @
2013-06-21 14:29
spinsoft
阅读(252)
推荐(0)
计算机科学中最重要的32个算法
摘要:计算机科学中最重要的32个算法奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。集束搜索(又名定
阅读全文
posted @
2013-06-19 09:35
spinsoft
阅读(256)
推荐(0)
<摘录>字节对齐与结构体大小
摘要:说明:结 构体的sizeof值,并不是简单的将其中各元素所占字节相加,而是要考虑到存储空间的字节对齐问题。这些问题在平时编程的时候也确实不怎么用到,但在一 些笔试面试题目中出是常常出现,对sizeof我们将在另一篇文章中总结,这篇文章我们只总结结构体的sizeof,报着不到黄河心不死的决心,终于完成 了总结,也算是小有收获,拿出来于大家分享,如果有什么错误或者没有理解透的地方还望能得到提点,也不至于误导他人。别忘了这里http://pppboy.blog.163.com/blog/static/30203796201082494026399/一、解释现代计算机中内存空间都是按照byte划分的,
阅读全文
posted @
2013-06-18 08:04
spinsoft
阅读(249)
推荐(0)
<摘录>字节对齐(强制对齐以及自然对齐)
摘要:struct {}node;32为的x86,window下VC下sizeof(node)的值为1,而linux的gcc下值为0;一、WINDOWS下(VC--其实GCC和其原理基本一样,象这种问题,一般要查具体的编译器设置)字节对齐的规则:1、 一般设置的对齐方式为1,2,4字节对齐方式,VC一般默认为4字节(最大为8字节)。结构的首地址必须是结构内最宽类型的整数倍地址;另外,结构体的每 一个成员起始地址必须是自身类型大小的整数倍(需要特别注意的是windows下是这样的,但在linux的gcc编译器下最高为4字节对齐),否则在前 一类型后补0;这里特别提到的是数组一定要注意,而且在一些编程的
阅读全文
posted @
2013-06-18 08:03
spinsoft
阅读(482)
推荐(0)
常见的运维监控系统及软件
摘要:常见的运维监控系统及软件随着服务器及网络设备的增加,需要监控的设备越来越多,虽然很多服务器都是临时的,但是比如存储、ftp、web服务器、交换机、防火墙、路由器等都是24小时运行的。这个时候就需要对这些常用系统进行监控。通过这段时间的了解,感觉有几款开源的软件及系统比较好。1、CactiEZCactiEZ 是一个基于 CentOS 的 Linux 发行版,主要的目的是为了简化 Cacti 监控系统的安装和配置,装好了就可以直接使用 Cacti。配置参考:http://forum.ubuntu.org.cn/viewtopic.php?t=387315官方下载地址:http://cactiez.
阅读全文
posted @
2013-06-13 16:47
spinsoft
阅读(1042)
推荐(0)
Linux共享库
摘要:共享库的命名惯例按照共享库的命名惯例,每个共享库有三个文件名:real name、soname和linker name。真正的库文件(而不是符号链接)的名字是real name,包含完整的共享库版本号。例如上面的libcap.so.1.10、libc-2.8.90.so等。soname是一个符号链接的名字,只包含共享库的主版本号,主版本号一致即可保证库函数的接口一致,因此应用程序的.dynamic段只记录共享库的soname,只要soname一致,这个共享库就可以用。例如上面的libcap.so.1和libcap.so.2是两个主版本号不同的 libcap,有些应用程序依赖于libcap.so
阅读全文
posted @
2013-06-09 11:50
spinsoft
阅读(591)
推荐(0)
Linux Debug tools(转贴)
摘要:2010-10-27 11:47 by zhenjing, 1400 阅读, 0 评论, 收藏, 编辑1. gdb attach [pid] -- debug a running process2. valgrind-- a suite of tools for debugging and profiling programsVery powerful tool to debug linux program,just for x86 platform3. strace -trace system calls and signalsIn the simplest case strace runs
阅读全文
posted @
2013-06-09 08:05
spinsoft
阅读(334)
推荐(0)
WMI获取驱动版本
摘要:WMI获取驱动版本// public string GetDriverVersion(string HardwareID) //找出驱动版本// {// string queryString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver";// SelectQuery selectQuery = new SelectQuery(queryString);// ManagementObjectSearcher searcher = new ManagementObjectSearcher(sele
阅读全文
posted @
2013-06-08 08:52
spinsoft
阅读(396)
推荐(0)
使用VC6.0开发COM组件 - 傻瓜式,不讲理论,只讲实例
摘要:使用VC6.0开发COM组件 - 傻瓜式,不讲理论,只讲实例1.创建一个ATL COM AppWizard工程,如图:2. 选择 Dynamic link Library (DLL),其它两个请百度,或参照其它文档。如下图:3. 添加一个自己的COM类,用于导出需要用到的接口。步骤如下:选择类视图->右键工程->新建类(New Class) 如下图:弹出对话框后,选择 ATL CLASS,输入类名,如下图:然后,在类视图中,你会看到:多了一个接口和一个类,这都是你刚才添加的。4. 添加导出接口。右键 "IHelloWorld"->AddMethod,如下图
阅读全文
posted @
2013-06-03 10:53
spinsoft
阅读(388)
推荐(0)