1.1.1.8 C C++ Object-C
文章平均质量分 95
ajian005
这个作者很懒,什么都没留下…
展开
-
Java与C/C++访问方式
1 多机多进程方式: Java进程 通过网络(TCP/IP or http, socket等) 访问C/C++进程2 单机多进程方式: Shell方式, Java进程调用Shell访问底层3 单机单进程方式: JNI系列: (Java调用C/C++的.ddl/.so文件,或者C/C++调用Java文件) JNI的替代者—使用JNA访问Java外部函数接口 https://blog.csdn.net/lanxuezaipiao/article/details/22619835 ...原创 2020-10-19 18:53:17 · 264 阅读 · 0 评论 -
Linux虚拟化: Libvirt 虚拟化库剖析 针对简单的 Linux 虚拟化的 API
M. Tim Jones, 自由作家简介: Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。本文主要探讨 libvirt 及其用途和架构。发布日期: 2010 年 2 月 01 日 级别: 中级 其他语言版本: 英文访问情况 : 712转载 2012-12-18 19:55:49 · 1283 阅读 · 1 评论 -
Linux虚拟化: 虚拟 Linux 虚拟化方法、架构和实现概述
M. Tim Jones, 顾问工程师, Emulex简介: 虚拟化的含义丰富,应用广泛。目前虚拟化技术主要关注于服务器虚拟化,即在一个宿主计算机上提供多个独立操作系统。本文将探索虚拟化背后的思想,然后讨论实现虚拟化的一些技术。我们还将了解现有的其他一些虚拟化技术,例如 Linux 上操作系统的虚拟化。发布日期: 2010 年 9 月 20 日 级别: 中级 访问情况 :转载 2012-12-18 19:53:39 · 8654 阅读 · 0 评论 -
Linux 网络栈剖析: 使用 SCTP 优化网络 流控制传输协议结合了 TCP 和 UDP 的优点
流控制传输协议结合了 TCP 和 UDP 的优点M. Tim Jones (mtj@mtjones.com), 资深首席软件工程师, Emulex简介: 流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以保护数据消息边界(例如 UD转载 2012-12-18 19:43:48 · 1907 阅读 · 0 评论 -
Linux 网络栈剖析: 从 socket 到设备驱动程序
从 socket 到设备驱动程序M. Tim Jones, 顾问工程师, Emulex简介: Linux® 操作系统的最大特性之一就是它的网络栈。它最初源于 BSD 的网络栈,具有一套非常干净的接口,组织得非常好。其接口范围从协议无关层(例如通用 socket 层接口或设备层)到各种网络协议的具体层。本文将从分层角度对 Linux 网络栈的接口进行探索,并介绍其中的一些主要结构。转载 2012-12-18 19:41:06 · 2002 阅读 · 0 评论 -
Linux 进程管理剖析: Linux 同步方法剖析 内核原子,自旋锁和互斥锁
M. Tim Jones, 顾问工程师, Emulex简介: 在学习 Linux® 的过程中,您也许接触过并发(concurrency)、临界段(critical section)和锁定,但是如何在内核中使用这些概念呢?本文讨论了 2.6 版内核中可用的锁定机制,包括原子运算符(atomic operator)、自旋锁(spinlock)、读/写锁(reader/writer lock)和内核转载 2012-12-18 19:31:35 · 1126 阅读 · 0 评论 -
Linux系统调用的内核命令 : 探究SCI并添加自己的调用
M. Tim Jones, 顾问工程师, Emulex简介: Linux® 系统调用 —— 我们每天都在使用它们。不过您清楚系统调用是如何在用户空间和内核之间执行的吗?本文将探究 Linux 系统调用接口(SCI),学习如何添加新的系统调用(以及实现这种功能的其他方法),并介绍与 SCI 有关的一些工具。发布日期: 2010 年 9 月 21 日 级别: 中级 访问情况 :转载 2012-12-18 17:27:55 · 971 阅读 · 0 评论 -
Linux内存管理:Linux 可加载内核模块剖析:2.6 内核透视图
M. Tim Jones, 顾问工程师, Emulex Corp.简介: Linux® 可加载内核模块(从内核的 1.2 版本开始引入)是 Linux 内核的最重要创新之一。它们提供了可伸缩的、动态的内核。探索隐藏在可加载模块后面的原理,并学习这些独立的对象如何动态地转换成 Linux 内核的一部分。发布日期: 2008 年 8 月 07 日 级别: 中级 访问情况 : 1转载 2012-12-18 18:07:48 · 880 阅读 · 0 评论 -
Linux 文件系统剖析: Linux flash 文件系统剖析 选择和架构
选择和架构M. Tim Jones, 顾问工程师, Emulex Corp.简介: 您之前可能听说过 Journaling Flash File System(JFFS)和 Yet Another Flash File System(YAFFS),但是您知道使用底层 flash 设备的文件系统意味着什么吗?本文将向您介绍 Linux® 的 flash 文件系统,并探索它们如何通过平转载 2012-12-18 19:25:04 · 1017 阅读 · 0 评论 -
Linux 文件系统剖析: Linux SCSI 子系统剖析 分层 SCSI 架构简介
M. Tim Jones, 顾问工程师, Emulex Corp.简介: Small Computer Systems Interface (SCSI) 是一组标准集,它定义了与大量设备(主要是与存储相关的设备)通信所需的接口和协议。 Linux® 提供了一种 SCSI 子系统,用于与这些设备通信。Linux 是分层架构的一个很好的例子,它将高层的驱动器(比如磁盘驱动器或光驱)连接到物理接口,转载 2012-12-18 19:23:47 · 2121 阅读 · 0 评论 -
Linux 文件系统剖析: 使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口
M. Tim Jones (mtj@mtjones.com), 资深首席软件工程师, Emulex简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间和用户空间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的。本文对 /proc 虚转载 2012-12-18 19:22:31 · 1031 阅读 · 0 评论 -
Linux 文件系统剖析: 网络文件系统与 Linux NFS:与以往一样有用并在不断演变
NFS:与以往一样有用并在不断演变M. Tim Jones, 自由作家简介: 网络文件系统(NFS)从 1984 年问世以来持续演变,并已成为分布式文件系统的基础。当前,NFS(通过 pNFS 扩展)通过网络对分布的文件提供可扩展的访问。探索分布式文件系背后的理念,特别是,最近 NFS 文件进展。发布日期: 2011 年 1 月 10 日 级别: 中级 原创语言转载 2012-12-18 19:14:21 · 1276 阅读 · 0 评论 -
Linux 文件系统剖析:按照分层结构讨论 Linux 文件系统
M. Tim Jones, 顾问工程师, Emulex Corp.简介: 在文件系统方面,Linux® 可以算得上操作系统中的 “瑞士军刀”。Linux 支持许多种文件系统,从日志型文件系统到集群文件系统和加密文件系统。对于使用标准的和比较奇特的文件系统以及开发文件系统来说,Linux 是极好的平台。本文讨论 Linux 内核中的虚拟文件系统(VFS,有时候称为虚拟文件系统交换器),然后介绍将转载 2012-12-18 18:37:53 · 1000 阅读 · 0 评论 -
Linux 文件系统剖析:NFS 文件系统源代码剖析
简介: NFS 文件系统是目前最为成功的网络文件系统,在文件共享领域有着出色的表现,特别是 pNFS 的出现,使得 NFS 文件系统在性能和规模上有了大幅提升,为其带了更为广阔的应用空间。同时,NFS 之所以备受关注,还在于它在 NAS 存储领域的关键作用。本文剖析了 NFSv3 文件系统源代码,使开发工程师,技术支持人员,特别是存储领域从业人员对 NFS 有更为深刻的认识。发布日期: 2转载 2012-12-18 19:12:46 · 1060 阅读 · 0 评论 -
Linux 文件系统剖析:剖析 ext4 了解第 4 个扩展文件系统
了解第 4 个扩展文件系统M. Tim Jones, 顾问工程师, Emulex Corp.简介: 第 4 个扩展文件系统,即 ext4,是下一代的日志文件系统,它与上一代文件系统 ext3 是向后兼容的。尽管 ext4 目前还不是标准文件系统,但它将成为大部分下一代 Linux® 发行版的默认文件系统。了解 ext4,以及它为什么将成为您最喜欢的新文件系统。发布日期:转载 2012-12-18 19:08:31 · 1572 阅读 · 0 评论 -
Linux 文件系统剖析:Linux 日志文件系统剖析 日志的现在和未来
日志的现在和未来M. Tim Jones, 顾问工程师, Emulex Corp.简介: 在近代历史上,日志文件系统被认为十分奇特,主要是处于研究阶段。而如今,日志文件系统(ext3)已经成为 Linux 的缺省文件系统。本文向大家揭示了日志文件系统背后的一些思想,以及在电源故障或系统崩溃时,如何提供更好的完整性。此外本文还介绍了现行的几种日志文件系统和下一代日志文件系统。转载 2012-12-18 19:01:05 · 1215 阅读 · 0 评论 -
Linux内存管理: Linux Kernel Shared Memory 剖析 Linux 内核中的内存去耦合
M. Tim Jones, 自由作家简介: 作为一个系统管理程序(hypervisor),Linux® 有几个创新,2.6.32 内核中一个有趣的变化是 Kernel Shared Memory (KSM)。KSM 允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量。本文探索 KSM 背后的理念(比如存储去耦合)、KSM 的实现、以及如何管理 KSM。发布日期: 2010转载 2012-12-18 18:27:38 · 1145 阅读 · 0 评论 -
Linux内存管理: Slab Allocator 分配器剖析:了解 Linux 内存管理的方式
M. Tim Jones, 顾问工程师, Emulex简介: 良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并转载 2012-12-18 18:21:24 · 1553 阅读 · 0 评论 -
Linux虚拟化: 探索 Linux 内核虚拟机 学习 KVM 架构及其优点
M. Tim Jones, 顾问工程师, Emulex简介: Linux® 既有良好的灵活性,在虚拟化方面同样出色。但是最近,随着内核虚拟机(KVM:Kernel Virtual Machine)的出现,Linux 虚拟化的前景发生了变化。KVM 是构成主流 Linux 内核(V2.6.20)一部分的第一个虚拟化解决方案。KVM 支持 Linux 客户操作系统的虚拟化 —— 甚至支持其硬件对虚转载 2012-12-19 10:03:35 · 1586 阅读 · 0 评论 -
Linux虚拟化:虚拟化技术漫谈
林 昊翔 (linhaoxiang@hotmail.com), Linux 内核爱好者秦 君 (qinjun@cn.ibm.com), 软件工程师, IBM简介: 随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。本文针对 x86 平台,首先转载 2012-12-19 10:19:24 · 1491 阅读 · 0 评论 -
一个程序员的Java和C++学习之路(整理)
C++学习之路1 why要学习C/C++/object-c?最近想写点有用的东西,发现自己最拿手的java用起来真是笨手笨脚的。碰到好多实现起来巨繁琐的问题,比如操作底层库,和OS framework交互,做个用户体验好点的本地图形程序等等,这些都是java的软肋。其实,我一直对底层颇感兴趣,工作中也只能接触一下JVM,但VM毕竟是VM,始终与底层失之交臂。Linux、原创 2012-09-21 13:36:40 · 8504 阅读 · 1 评论 -
nginx架构(修改版)
英文:http://www.aosabook.org/en/nginx.htmlnginx(发音为“engine x”)是一个免费的开源Web服务器,由俄罗斯软件工程师Igor Sysoev编写。其在2004年向公众推出以来,nginx一直专注于高性能,高并发性和低内存占用。 Web服务器功能之上的附加功能,如负载均衡,缓存,访问和带宽控制的能力,以及有能力有效整合各种应用,这些都有助于使原创 2015-01-11 20:51:27 · 1536 阅读 · 0 评论 -
把VIM配置成IDE开发环境
VIM键盘布局原创 2014-09-30 22:57:00 · 4166 阅读 · 5 评论 -
C++各大有名库的介绍
C++各大有名库的介绍在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。转载 2012-07-15 11:06:10 · 5326 阅读 · 0 评论 -
内存泄露检测工具
一、什么是内存泄露?在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。通常我们所说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用ma原创 2012-10-30 13:20:32 · 1845 阅读 · 0 评论 -
再谈select, iocp, epoll,kqueue及各种I/O复用机制
首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)blocking I/O 这个不用多解释吧转载 2011-12-01 12:16:30 · 2750 阅读 · 0 评论 -
常见多媒体(音频、视频、图片)编解码
参考资料:音视频图片解码库原创 2014-06-05 22:38:05 · 1898 阅读 · 0 评论 -
Apache Thrift & Google Protocol Buffer & Apache avro比较(先留个位置,待补充内容)
参考:Apache Thrift : http://en.wikipedia.org/wiki/Apache_Thrift原创 2014-03-18 21:38:03 · 967 阅读 · 0 评论 -
并发导论
原文出处: ifeve 寻寒(@小疯子诗人) 写在前面的话 由于之前工作中的疏忽,在使用Java多线程并发的时候出了问题,遂决心全面学习并发相关知识。写作本文的意图只是希望在写作过程中把想不清楚或是一时无法掌握的地方反复揣摩记录下来。写作本文参考的各种资料较多,抱歉的是文末的参考文献中对一些叫不上名字或没有出处的资料文献并未列举出来。由于本人是初入职场的菜鸟,更是并发的门外汉,转载 2014-01-28 17:50:30 · 1505 阅读 · 0 评论 -
C&C++之标准库
什么是C&C++的标准库?C语言被发明出来时并没有什么库函数,随着C语言的流行,越来越多的厂商或者机构组织开始提供C的编译器,并且同时把经常用到的函数封装成“库”的形式发布;不同的组织发布的库函数的接口和数量各不相同。后来,标准化组织ANSI制定了C语言的标准,同时也制定了一定数量的库(或库函数),就就成为标准库函数。(后来这个ANSI C标准上升为ISO标准,但是内容并没有变化!谁让美国是老原创 2012-11-01 13:48:52 · 1547 阅读 · 0 评论 -
Boost C++ Libraries
下载地址:http://sourceforge.net/projects/boost/files/boost/1.51.0/Boost C++ 库(Libraries)是一组扩充C++功能性的经过同行评审(Peer-reviewed)且开放源代码程序库。大多数的函数为了能够以开放源代码、封闭专案的方式运作,而授权于Boost软件授权条款(Boost Software Licen原创 2012-11-01 14:08:15 · 1215 阅读 · 0 评论 -
内存管理内幕
2004 年 11 月 29 日本文将对 Linux? 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如转载 2012-10-30 13:37:00 · 1999 阅读 · 0 评论 -
编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010
vs2008编译boost 【一、Boost库的介绍】Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。转载 2013-08-02 19:11:45 · 1530 阅读 · 0 评论 -
eclipse C/C++开发环境配置全过程
基本概念:MinGW(Minimalist GNU For Windows) : 是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。MSYS(Minimal GNU(POSIX)system on Windows) :是一个小型的GNU环境,包括基本的bash,make等等,是Window原创 2012-11-10 23:27:42 · 1276 阅读 · 0 评论 -
web服务器apache架构与原理
web服务器 在开始了解Apache前,我们先熟悉一下web服务器,因为apache也是web服务器的一种。 Web系统由客户端(浏览器)和服务器端两部分组成。Web系统架构也被称为B/S架构。最常见的Web服务器有Apac转载 2013-06-16 22:57:06 · 1740 阅读 · 0 评论 -
ACE初学者使用指南
注意:ACE网络框架比较有名,30万行左右代码,开发了10几年,数十人的核心开发团队加之数千人的测试队伍,可以说想不开发出好东西也难。 所以要说这个框架好,那好的原因实在太多,最主要的好在于两条:“跨平台(支持几十种平台),可复用”,所以今日说说我认为他不足的地方,以作为这段时间学习它的一个总结: 国内有三本和ACE框架有关的书,我都读了,整个加起来读了能有10几不到20天转载 2013-06-05 09:34:02 · 3634 阅读 · 0 评论 -
Linux 是一个适应性很强的平台,支持多种使用模型
M. Tim Jones, 独立作家, 顾问简介: Linux 无处不在。从最小的智能手机,到 Internet 的虚拟骨干网,再到体积最大、功能最强的超级计算机,Linux 的影子几乎无所不在。能够提供这么多平台所期望的众多功能,Linux 非常不简单。我们将探索无处不在的 Linux 以及它如何支持大大小小的设备。发布日期: 2012 年 5 月 02 日 级别: 中级转载 2012-12-18 15:46:54 · 1656 阅读 · 0 评论 -
Linux 进程管理剖析: 创建、管理、调度和销毁进程
M. Tim Jones, 顾问工程师, Emulex Corp.简介: Linux® 的用户空间进程的创建和管理所涉及的原理与 UNIX® 有很多共同点,但也有一些特定于 Linux 的独特之处。在本文中,了解 Linux 进程的生命周期,探索用户进程创建、内存管理、调度和销毁的内核内幕。发布日期: 2009 年 1 月 20 日 级别: 中级 其他语言版本: 英文转载 2012-12-18 17:40:14 · 778 阅读 · 0 评论 -
Linux 内核剖析:历史和体系结构分析
M. Tim Jones, 顾问工程师, Emulex简介: Linux® 内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织。在本文中,您将探索 Linux 内核的总体结构,并学习一些主要的子系统和核心接口。您还可以通过其他 IBM 文章的链接更深入地进行学习。发布日期: 2010 年 9 月 20 日 级别: 中级 访问情况转载 2012-12-18 17:18:00 · 782 阅读 · 0 评论 -
TIOBE Programming Community Index
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html原创 2012-07-17 11:09:27 · 1334 阅读 · 0 评论