自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhghost的专栏

Go语言和C++语言

  • 博客(294)
  • 资源 (12)
  • 收藏
  • 关注

原创 K8S的服务注册

本文主要用来介绍K8S的服务注册和发现,算是笔者对这部分知识的一个学习笔记。一、服务注册每个 Kubernetes 服务都会自动注册到集群 DNS 之中。注册过程大致如下:1.Servic...

2021-08-28 18:42:52 2735 1

原创 envoy压测

压测信息:​ envoy版本: 1.23.2-dev istio版本:1.15.2 envoy只打开了access log,没有配置任何VS和DR,去掉了jeager和stat-filter插件,流量通过iptables接管到envoy。 pod层面做的压测,资源为 1c2g的sidecar配比,业务容器是1c2g,响应比较快,request的大小是多少,response就返回多少。 网络是k8s...

2024-04-14 20:47:19 232 1

原创 centos7编译c++碰到的坑

centos 7默认安装的工具链和LIB库都比较旧,不能很好的编译C++产品,最近踩了很多坑,下面就列一下出来。问题1: cmake 安装新版之后,版本提示一直是旧版本的解决办法:wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gztarzxvfcmake-3.*cdcmake-3.*./bootstrap--prefix=/...

2024-02-18 13:53:16 430

原创 envoy在arm机器上的编译整理

版本信息:操作系统:GUN Linux操作系统AARCH64架构。istio-proxy版本:istio-proxy1.15.2编译环境搭建:设置代理,确保可以访问Google等外网,这里envoy的第一次编译需要从外网下载依赖库。// 备注:这里一定要设置一下,可以避免很多麻烦2. 安装G++10.3.1//其他版本应该也可以,本人安装了这个版本3.安装cmake //本人安装的是3....

2023-12-31 19:30:21 798

原创 Envoy:关于outbound流量的处理逻辑

本篇文章,笔者试图讲清楚流量在经过Envoy之后,outbound的流量处理过程是什么样子的。envoy是istio的数据面,istio与envoy之间通过xds协议进行通讯,而istio则通过CR的方式来进行了进一步的封装,目的是为了将xds简单化,希望用户看到的配置更加的简洁,例如:Virtual Service、Destination Rule、等等。XDS是通过LDS、RDS、CDR、SD...

2023-04-25 14:54:28 264

原创 Envoy:httpfilter相关代码阅读

本篇文章是envoy httpfilter相关代码阅读的整理和总结,笔者试图通过这篇文章将http filter在envoy内部的管控讲清楚,并且将request和response是如何使用这部分 http filter功能的流程介绍清楚。httpfilter是netfilter中的一种filter,因为envoy对http支持的细粒度管控很全面,所以将httpfilter又做了一层只是针对htt...

2023-04-02 14:17:55 496

原创 Envoy:event相关代码阅读(二)

本篇文章试图来介绍envoy的事件处理部分的代码,对于envoy来说是基于libevent做了简单封装来实现的异步调度。 本篇文章会从下面两部分来进行讲解,libevent的基础知识介绍,envoy中event的类的实现和event在envoy中的调度逻辑,本篇介绍第二部分内容。一、envoy中event相关类的介绍envoy将libevent的三类事件做了一个简单的封装,如下图所示:sign...

2023-02-24 07:00:39 235

原创 Envoy:event相关代码阅读(一)

本篇文章试图来介绍envoy的事件处理部分的代码,对于envoy来说是基于libevent做了简单封装来实现的异步调度。 本篇文章会从下面两部分来进行讲解,libevent的基础知识介绍,envoy中event的类的实现和event在envoy中的调度逻辑。一、libevent的基础知识篇1.事件flags:#define EV_TIMEOUT 0x01Indicates that a...

2023-02-23 20:00:32 178

原创 Envoy 启动相关参数整理

本篇属于Envoy代码的阅读笔记,整理了envoy启动所使用到的参数信息,代码实现在类OptionsImpl 中,使用了TCLAP来进行参数的行解析处理。// 文件路径如下所示:"source/server/options_impl.h""source/server/options_impl.cc"实现逻辑在下面的构造函数中:OptionsImpl::OptionsImpl(std::vec...

2023-01-02 21:27:23 491

原创 C++ 命令行解析库TCLAP

介绍一个命令行解析库:TCLAP,属于一个比较好用的命令行解析库,Envoy中也用到了这个库,整理出来,方便后续查看。详细介绍参考:https://tclap.sourceforge.net/html/classTCLAP_1_1SwitchArg.html使用方法分成几步:先初始化一些默认的参数数值,parse传递过来的参数之后,会使用传递进来的参数代替掉这些默认值。//step1:实例化...

2022-12-29 20:05:07 685

原创 Pod内容详情梳理

本篇是笔者的一篇读书笔记,用于梳理pod的详情,方便理解和学习,也方便后续自己查询。一、Pod的概述Pod是k8s里面典型的CR,从它的元数据来看,具有所有CR的基本数据构成,分别是 version、kind,以及描述自己的元数据的其他信息,包括metadata里面的名称,命名空间,匹配的labels和注解这一些。除此之外就是Pod里面要包含的详情了,主要有:容器列表,用来描述运行相关的资源信息。...

2022-12-27 09:33:32 697

转载 转发“Istio共享代理新模式Ambient Mesh”

Sidecar 模式的一些限制,让这种共享代理模式成为可能,个人觉得mesh靠近路由转发、安全证书相关的核心功能会下沉到宿主机,甚至有可能成为网卡类的硬件设备。笔者觉得下面的两篇文章写的很好,便转发出来。下面也是文章中整理的。1.侵入性:Sidecar 容器是以Admission Webhook的方式来注入,与应用容器属于同一个Pod,因此Sidecar的升级,必须伴随着业务容器的重建。对应用负载...

2022-11-03 20:07:48 134

原创 Envoy的lib库拓扑关系

写在前面的话:​本篇文章作为Envoy代码的学习笔记,整理了好久,方便后续读Envoy代码做参考使用。如果你不打算这方面深度学习,建议看完前面几张图之后就可以了或者直接不要看这篇文章,因为它的拓扑关系太复杂了。正文:​Envoy使用的bazel进行编译,这种编译工具由Workspace和buid构成,通过一层层的lib库嵌套,最终编译成可执行文件。下面是作者按照编译的依赖关系整理的lib库调用关系...

2022-10-15 21:05:01 391

原创 k8s的架构是怎么变成现在这个样子

引子:笔者在学习K8S的时候,总是在问自己为啥它的架构就变成了现在这个样子的呢,这样的架构和调度设计有什么好处呢?在学习了之后,笔者便整理了这篇文章,一来,算是跟自己答疑解惑,二来,分享出来给大家来共同探讨,方便大家相互学习。正文:笔者觉得K8S就是一个大型的操作系统,只不过它管理的硬件资源比较分散,类型繁琐、数量比较庞大,但是归根结底还是管理和调度,最终还是围绕着计算资源CPU、存储资源内存和磁...

2022-10-08 18:00:30 2044 1

转载 服务网格峰会 2022 视频和PPT

幻灯片下载地址:https://github.com/cloudnativeto/academy/tree/master/service-mesh-summit/2022视频回放合集:https://www.bilibili.com/video/BV1YB4y1J7eK/信息来自于下面: 公众号:云原生社区动态 服务网格峰会 2022 视频回放及幻灯片分享 ...

2022-09-29 09:31:31 151

原创 目前社区关于ServiceMesh的主要方向

周六的时候,在线参加了“首届服务网格峰会”,听了很多业界的研究分享,便整理了这篇文章,一来,为了反思自己在服务网格这边的落地方向是不是偏离社区,二来,希望对读者有用,能够有所收获。 本次峰会,参与者众多,阿里,腾讯,蚂蚁,网易等等大厂都有参加,并都做了相应的内容分享,算是收获颇丰 峰会内容,主要围绕下面几点展开,参考下图:​1.数据面的替换对于ServiceMesh...

2022-09-28 08:30:25 319

原创 流量治理第三篇:流量特点介绍

上一篇,笔者概括介绍了一下对于流量治理的三板斧操作;本篇文章笔者主要来介绍下流量的常见特点,所谓知己知彼百战百胜,我们只有了解了流量的特点,特别是他们存在的挑战,我们才能更好的治理流量。 针对流量而言,长期的流量不均,流量的响应延迟过高,瞬时的流量过大,以及流量本身内容的不安全,是我们平时治理流量的时候,不得不面对的问题,并且这些问题往往会对我们的产品产生很大的影响和冲击...

2022-09-27 08:07:16 290

原创 流量治理第二篇之三板斧

本篇文章是笔者对流量治理治理思路的总结,在这里笔者把它们称为流量治理的“三板斧”,这里笔者只是阐述下个大概,算是先给它们做个介绍,后续会详细讲解每一部分。 对于流量治理来说,笔者觉得一定要从三个方面来着手,他们分别是:“看得见”,“摸得着”,“管得住”。一、看得见“看得见”,指的是流量治理的可观察性,它们需要能够被“看见”才行,当然这里的“看见”,一方面指的是监...

2022-06-29 21:28:23 255

原创 流量治理开篇

本篇文章是笔者流量治理的第一篇文章,笔者希望在这里系统的讲解下这些年以来对流量和流量治理的理解,希望对读者有所帮助,也希望读者能够及时指正文章中笔者理解不对的地方。本篇文章笔者会从下面几点来介绍流量治理。问题一:流量治理是什么?问题二:为什么需要流量治理?问题三:如何进行流量治理?一、流量治理是什么流量治理:顾名思义流量治理就是针对流量就行治理,这里面有两个关键字,流量和......

2022-06-21 09:37:57 567

原创 性能之文件系统篇

本篇文章是性能篇的最后一篇文章,算是一个学习笔记吧,当中的例子也是从别的文章里面摘录的,主要用来讲解如何使用和查看对应的指标。这一篇主要介绍文件系统,说的更加具体点其实是磁盘这个点。笔者还是按照:基础知识----》常用命令和工具----〉排查思路的方式进行了整理。一、基础知识1. 文件系统:在磁盘的基础上,提供了一个用来管理文件的树状结构,是对存储设备上的文件,进行组织管...

2022-05-08 15:05:24 547

原创 性能之网络篇

网络通讯的链路为:机器A-----》路由器----〉机器B如果我们站在本机机器作为参考物的话,应该拆分成下面三个阶段:1.消息入口流量部分的处理流程2.流量在本机上面的处理流程3.流量出口流量部分的处理流程在上面的这三个阶段,分别涉及到了不同的基础知识、工具和命令来进行诊断,笔者本篇文章按照下面的内容来整理:1.基础知识2.常用工具和命令3.测试工具一、基础知识衡量网络性...

2022-05-04 08:55:30 1001

原创 性能之内存篇

最近笔者在看性能分析相关的是知识,就特意针对内存整理了这一篇文章,在这里笔者主要从下面三个方面来介绍这方面的知识:1.内存的作用是什么,他在操作系统中的基础知识都有哪一些?2.查看内存和内存相关问题涉及到的工具都有哪一些,他们的使用方式是什么样子的?3.碰到内存问题的时候,我们需要怎么去定位呢?一、内存的基础知识1.内存的作用:主要用来存储系统和应用程序的指令、数据、缓存...

2022-05-01 20:33:44 786

原创 性能之CPU定位工具介绍

本篇文章算是一篇读书笔记,基本上是把CPU相关的知识作了一个归纳整理,方便后续查看和排查问题。 对于CPU来说,涉及到的主要指标包括:CPU使用率、平均负载、上下文切换、硬中断、软中断、等待io和CPU缓存,而CPU的性能问题也都是与这些指标一一对应的,下面是针对不同的指标的一个定位关联图示。一、CPU性能指标二、常用工具介绍1、top: // 默认5s输出一次$ t...

2022-04-22 18:30:47 447

原创 性能之cpu篇

对于性能来说,cpu的调度逻辑是影响性能的主要来源,本文主要来介绍下cpu跟性能相关的调度逻辑和排障工具。一、cpu调度逻辑介绍:Linux 是一个多任务操作系统,支持远大于 CPU 数量的任务同时运行,而这里的同时运行采用的是分时逻辑的思路,只是看起来多个进程是同时运行的。任务运行前,CPU通过系统事先帮它设置好的 CPU 寄存器和程序计数器(Program Count...

2022-04-19 08:18:49 330

原创 性能基础知识介绍

我们在解决性能问题之前,需要先对性能的基础知识做一个简单的了解,并且要知道用哪些常用的命令来帮助我们去判断和分析这些性能问题。本篇文章主要也是来整理这部分内容,主要按照下面的思路进行整理:一、基本概念介绍。二、常用命令整理。三、主要场景分析。一、基本概念介绍平均负载:是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 C...

2022-04-17 16:16:05 402

原创 K8S之kubelet介绍

一、总体概述:一旦Pod被调度到对应的宿主机之后,后续要做的事情就是创建这个Pod,并管理这个Pod的生命周期,这里面包括:Pod的增删改查等操作,在K8S里面这部分功能是通过kubel...

2022-03-08 21:00:00 11565

原创 K8S里面的调度整理

K8S是分布式系统里面的操作系统,Pod更像是操作系统里面的进程组,如此以来当一个Pod想要运行的时候,就必须要依赖于K8S的调度策略来完成这些Pod的调度。本篇文章就是来整...

2022-02-26 19:45:49 4814

原创 Envoy编译篇:Starlark语言

bazel的编译中使用了Starlark语言,这种语言类似于python语言,详细内容可以参考 :https://docs.bazel.build/versions/4.2.1/skyla...

2022-02-11 19:30:00 2465

原创 Envoy编译篇:bazel构建介绍

本篇文章通过https://github.com/bazelbuild/examples/tree/main/cpp-tutorial里面的例子,来简单介绍下bazel构建的基础知识,方便...

2022-02-07 19:30:00 858

原创 k8s三层网络通讯方式

本篇文章来介绍,K8S纯三层网络的实现原理,主要以Flannel 的 host-gw 模式和 Calico为例来介绍,是本人对K8S网络学习整理的第三篇学习笔记。一、Flannel 的 h...

2022-01-27 19:00:00 1393

原创 C++ absl的Strings Library

absl是谷歌开源出来的一个C++标准库的扩充,基于C++11以上版本进行开发,是一个性能比较高的第三方库。Abseil is an open-source collection of C...

2022-01-20 20:30:00 4084

原创 thread_local

一、介绍thread_local这个关键字的是C++11之后的产物,主要适用的场景是:本线程这个生命周期里面修改和读取,不会与别的线程相互影响。在C++中全局变量和static变量一般都是...

2022-01-10 21:00:00 616

原创 K8S跨Node网络

一、背景介绍前面一章我们介绍了Node节点上面不同的容器之间的通讯方式,主要是根据docker0(网桥)+Veth Pair的方式来玩起来的。本章我们来介绍下不同Node节点上面不同的容器...

2022-01-09 18:43:14 973

原创 K8S网络介绍

一、背景介绍:对于K8S里面容器之间的通讯基本上面可以分为三种类型:1. POD里面不同容器之间的通讯: 因为同一个Pod里面的不同容器之间是共享同一个POD里面的网络资源,所以POD里...

2022-01-08 17:46:09 627

原创 std::function与std::bind

一、背景介绍:函数指针始终不太灵活,它只能指向全局或静态函数,对于类成员函数、lambda表达式或其他可调用对象就无能为力了,因此,C++11推出了std::function与std::b...

2022-01-06 21:00:00 1294

原创 有了container为什么还需要pod

问题: 容器明明对标的是单个进程的概念,物理机里面进程不就是调度的最小单位了吗?为什么k8s还特意搞了一个pod出来?传统玩法:我们先来看下物理机里面调度进程都需要那些资源,cpu、内存、...

2021-12-17 09:54:23 1174

原创 istio数据面的网络端口和健康检查

本篇文章整理了,istio(版本是1.11.2+)数据面所使用的端口,以及他的健康检查,算是读书笔记,方便后续查找翻看。1. istio数据面的组件介绍pilot-agent:主要用来生成...

2021-10-15 19:13:17 672

原创 iptables知识整理

Envoy的流量劫持使用的是iptables,便对这方面知识作了一个整理,方便后续查看,算是一个读书笔记吧。一、iptables四张表表(tables)提供特定的功能,iptab...

2021-09-30 15:50:34 2113

原创 Envoy流量劫持后outbound部分处理逻辑

本篇文章主要来讲解下流量劫持到envoy之后,envoy层面是如何处理,并成功找到它的下一跳服务的,当然也是我们平时说的upstream。Envoy在实现层面,定义了listener、f...

2021-09-24 19:26:55 340

原创 Service Mesh的价值到底在什么地方

背景介绍:今年有幸加入了Service Mesh小组的研发当中,经过几个月的摸索,算是对Service Mesh有了一个初步的认识。旁边也是不停的有朋友问我,Service Mesh价值是...

2021-09-10 10:12:16 135

vim用户手册

jusr 01.txtj 关于本手册 jusr 02.txtj Vim第一步 jusr 03.txtj 移动 jusr 04.txtj 小幅改动 jusr 05.txtj 定制你的Vim jusr 06.txtj 使用语法高亮 jusr 07.txtj 编辑多个文件 jusr 08.txtj 分隔窗口 jusr 09.txtj 使用GUI jusr 10.txtj 大刀阔斧 jusr 11.txtj 灾难恢复 jusr 12.txtj 奇技淫巧 高效编辑 jusr 20.txtj 加速冒号命令 jusr 21.txtj 进退之间 jusr 22.txtj 查找要编辑的文件 19 20 第00章目录 jusr 23.txtj 非文本文件 jusr 24.txtj 快速键入 jusr 25.txtj 编辑格式化文本 jusr 26.txtj 重复重复,再重复 jusr 27.txtj 搜索命令和模式 jusr 28.txtj 折行 jusr 29.txtj 之于程序 jusr 30.txtj 程序的编辑 jusr 31.txtj 探索GUI jusr 32.txtj 树状撤消 打造Vim jusr 40.txtj 定义新命令 jusr 41.txtj Vim脚本 jusr 42.txtj 增加新菜单 jusr 43.txtj 文件类型 jusr 44.txtj 自定义语法高亮文件 jusr 45.txtj 选择语言 运转Vim jusr 90.txtj 安装Vim 参考手册 jref-manual.txtj 关于所有命令的更详细的参考 可以在下面的地址中找到以单个文件组织的可打印版的HTML或PDF格 式用户手册: http://vimdoc.sf.net 20 21 第00章目录 起步 请从头至尾细读本章,本章讲述Vim的基本命令。 jusr 01.txtj 关于本手册 j01.1j 两套帮助 j01.2j 关于安装 j01.3j 使用Vim教程 j01.4j 版权 jusr 02.txtj Vim第一步 j02.1j 首次运行Vim j02.2j 插入文本 j02.3j 移动光标 j02.4j 删除字符 j02.5j 撤消与重做 j02.6j 其它编辑命令 j02.7j 退出 j02.8j 求助 jusr 03.txtj 移动 j03.1j 以Word为单位的光标移动 j03.2j 将光标移到行首或行尾 j03.3j 将光标移动到指定的字符上 j03.4j 将光标移动到匹配的括号上 j03.5j 将光标移动到指定的行上 j03.6j 告诉你当前位置 j03.7j 滚屏 j03.8j 简单的搜索 j03.9j 简单的模式搜索 j03.10j 使用标记 21 22 第00章目录 jusr 04.txtj 小幅改动 j04.1j 操作符命令和位移 j04.2j 改变文本 j04.3j 重复改动 j04.4j Visual模式 j04.5j 移动文本 j04.6j 复制文本 j04.7j 使用剪贴板 j04.8j 文本对象 j04.9j 替换模式 j04.10j 结论 jusr 05.txtj 定制你的Vim j05.1j vimrc文件 j05.2j vimrc示例 j05.3j 简单的映射 j05.4j 增加一个plugin j05.5j 增加一个帮助文件 j05.6j 选项设置窗口 j05.7j 常用选项 jusr 06.txtj 使用语法高亮 j06.1j 打开色彩 j06.2j 没有色彩或色彩错误? j06.3j 不同的颜色 j06.4j 有色或无色 j06.5j 彩色打印 j06.6j 进一步的学习 jusr 07.txtj 编辑多个文件 j07.1j 编辑另一个文件 j07.2j 文件列表 22 23 第00章目录 j07.3j 切换到另一文件 j07.4j 备份 j07.5j 在文件间复制粘贴 j07.6j 查看文件 j07.7j 更改文件名 jusr 08.txtj 分隔窗口 j08.1j 分隔一个窗口 j08.2j 为另一个文件分隔出一个窗口 j08.3j 窗口大小 j08.4j 垂直分隔 j08.5j 移动窗口 j08.6j 针对所有窗口操作的命令 j08.7j 使用vimdiff查看不同 j08.8j 其它 jusr 09.txtj 使用GUI j09.1j GUI的各部分 j09.2j 使用鼠标 j09.3j 剪贴板 j09.4j 选择模式 jusr 10.txtj 大刀阔斧 j10.1j 命令的记录与回放 j10.2j 替换 j10.3j 使用作用范围 j10.4j 全局命令 j10.5j 可视块模式 j10.6j 读写文件的部分内容 j10.7j 格式化文本 j10.8j 改变大小写 j10.9j 使用外部程序 23 24 第00章目录 jusr 11.txtj 灾难恢复 j11.1j 基本方法 j11.2j 交换文件在哪? j11.3j 是不是死机了? j11.4j 进一步的学习 jusr 12.txtj 奇技淫巧 j12.1j 替换一个word j12.2j 将"Last, First"改为"First Last" j12.3j 排序 j12.4j 反转行序 j12.5j 统计字数 j12.6j 查找帮助页1 j12.7j 消除多余空格 j12.8j 查找一个word在何处被引用 高效编辑 此类主题可以独立阅读 jusr 20.txtj 加速冒号命令 j20.1j 命令行编辑 j20.2j 命令行缩写 j20.3j 命令行补齐 j20.4j 命令行历史记录 j20.5j 命令行窗口 jusr 21.txtj 进退之间 1译:仅对Unix类系统有意义 24 25 第00章目录 j21.1j 挂起与恢复 j21.2j 执行shell命令 j21.3j 记住相关信息:viminfo j21.4j 会话 j21.5j 视图 j21.6j 模式行 jusr 22.txtj 查找要编辑的文件 j22.1j 文件浏览器 j22.2j 当前目录 j22.3j 查找一个文件 j22.4j 缓冲区列表 jusr 23.txtj 非文本文件 j23.1j DOS, Mac 和Unix格式的文件 j23.2j 来自因特网的文件 j23.3j 加密文件 j23.4j 二进制文件 j23.5j 压缩文件 jusr 24.txtj 快速键入 j24.1j 校正 j24.2j 显示匹配字符 j24.3j 自动补全 j24.4j 重复录入 j24.5j 从其它行复制 j24.6j 插入一个寄存器的内容 j24.7j 缩写 j24.8j 键入特殊字符 j24.9j 键入连字符 j24.10j Normal模式命令 25 26 第00章目录 jusr 25.txtj 编辑格式化文本 j25.1j 断行1 j25.2j 文本对齐 j25.3j 缩进和制表符 j25.4j 处理长行 j25.5j 编辑表格 jusr 26.txtj 重复重复,再重复 j26.1j Visual模式的重复 j26.2j 加与减 j26.3j 对多个文件做同样的改动 j26.4j 在一个shell脚本中使用Vim jusr 27.txtj 搜索命令和模式 j27.1j 忽略大小写 j27.2j 绕回文件头尾 j27.3j 偏移 j27.4j 多次匹配 j27.5j 多选一 j27.6j 字符范围 j27.7j 字符分类 j27.8j 匹配一个断行 j27.9j 例子 jusr 28.txtj 折行 j28.1j 什么是折行? j28.2j 手工折行 j28.3j 使用折行 j28.4j 保存和恢复折行 1又是细心的朋友<[email protected]>报告的错误,谢谢! 26 27 第00章目录 j28.5j 根据缩进的折行 j28.6j 根据标记的折行 j28.7j 根据语法的折行 j28.8j 根据表达式折行 j28.9j 折叠未有改变的行 j28.10j 使用何种折行方法? jusr 29.txtj 之于程序 j29.1j 使用tags j29.2j 预览窗口 j29.3j 在程序中移动 j29.4j 查找全局标识符 j29.5j 查找局部标识符 jusr 30.txtj 程序的编辑 j30.1j 编译 j30.2j C程序的缩进 j30.3j 自动缩进 j30.4j 其它语言的缩进 j30.5j 跳格键与空格 j30.6j 注释的格式化 jusr 31.txtj 探索GUI j31.1j 文件浏览器 j31.2j 确认 j31.3j 菜单命令的快捷键 j31.4j Vim的窗口位置和大小 j31.5j 其它 jusr 32.txtj 树状撤消 27 28 第00章目录 j32.1j 为每个修改编号 j32.2j 在不同撤消分支间移动 j32.3j 时间之旅 调节Vim 让Vim如你所愿地工作 jusr 40.txtj 定义新命令 j40.1j 键映射 j40.2j 自定义冒号命令 j40.3j 自动命令 jusr 41.txtj Vim脚本 j41.1j 介绍 j41.2j 变量 j41.3j 表达式 j41.4j 条件语句 j41.5j 执行一个表达式 j41.6j 使用函数 j41.7j 函数定义 j41.8j 列表和字典 j41.9j 异常 j41.10j 注意事项 j41.11j 定制一个plugin j41.12j 定制一个文件类型相关的plugin j41.13j 定制一个编译相关的plugin j41.14j 写一个快速载入的plugin j41.15j 建立自己的脚本库 j41.16j 发布你的Vim脚本 jusr 42.txtj 增加新菜单 28 29 第00章目录 j42.1j 介绍 j42.2j 菜单操作命令 j42.3j 其它 j42.4j 工具栏和弹出式菜单 jusr 43.txtj 文件类型 j43.1j 文件类型的插件 j43.2j 添加一种文件类型 jusr 44.txtj 自定义语法高亮文件 j44.1j 基本的语法命令 j44.2j 关键字 j44.3j 匹配 j44.4j 区域 j44.5j 嵌套 j44.6j 后续组 j44.7j 其它参数 j44.8j 聚簇 j44.9j 包含另一个语法文件 j44.10j 同步 j44.11j 安装一个语法文件 j44.12j 可移植语法文件的布局要求 jusr 45.txtj 选择语言 j45.1j 用于消息的语言 j45.2j 用于菜单的语言 j45.3j 使用另一种编码方法 j45.4j 编辑另类编码方案的文件 j45.5j 输入 29 30 第00章目录 运转Vim Vimming之前。 jusr 90.txtj 安装Vim j90.1j Unix j90.2j MS-Windows j90.3j 升级 j90.4j 常见问题 j90.5j 卸载Vim

2013-03-20

ACE技术文档(中文)

包含: 上篇: ACE技术论文集(共10章) 中篇: ACE程序员教程(共9章) 下篇: ACE应用实例(共3章)

2010-02-03

笔试题集锦(C,C++)

内容主要是: 华为面试笔试题 联想笔试题 摩托罗拉部分C++面试题,交流 2005年华为招聘--C语言笔试试题--招聘试题系列(一) 最近笔试面试,狂考sizeof 中兴软件 笔试 其中化为的笔试,面试题占的比重比较多,有60页吧。 希望对找工作的兄弟姐妹有帮助!

2010-02-03

WTL 开发库 直接解压就可以用

Windows Template Library

2009-12-16

wxWidgets参考手册查询

具体内容如下所示:是一个英文的chm文档,自己认为很全,很好用,希望能给学习wxWidgets的朋友起到辅助作用 Contents: Copyright notice Introduction Multi-platform development with wxWidgets Utilities and libraries supplied with wxWidgets Programming strategies Libraries list Alphabetical class reference Functions Constants Classes by category Topic overviews Platform details

2009-11-23

高质量C++(C) 编程指南

前 言 第1 章 文件结构 1.1 版权和版本的声明 1.2 头文件的结构 1.3 定义文件的结构 1.4 头文件的作用 1.5 目录结构 第2 章 程序的版式 2.1 空行 2.2 代码行 2.3 代码行内的空格 2.4 对齐 2.5 长行拆分 2.6 修饰符的位置 2.7 注释 2.8 类的版式 第3 章 命名规则 3.1 共性规则 3.2 简单的WINDOWS 应用程序命名规则 3.3 简单的UNIX 应用程序命名规则 第4 章 表达式和基本语句 4.1 运算符的优先级 4.2 复合表达式 4.3 IF 语句 4.4 循环语句的效率 4.5 FOR 语句的循环控制变量 4.6 SWITCH 语句 4.7 GOTO 语句 第5 章 常量 5.1 为什么需要常量 5.2 CONST 与 #DEFINE的比较 5.3 常量定义规则 5.4 类中的常量 第6 章 函数设计 6.1 参数的规则 6.2 返回值的规则 6.3 函数内部实现的规则 6.4 其它建议 6.5 使用断言 6.6 引用与指针的比较 第7 章 内存管理 7.1 内存分配方式 7.2 常见的内存错误及其对策 7.3 指针与数组的对比 7.4 指针参数是如何传递内存的? 7.5 FREE 和DELETE 把指针怎么啦 7.6 动态内存会被自动释放吗 7.7 杜绝“野指针” 7.8 有了MALLOC/FREE 为什么还要NEW/DELETE ? 7.9 内存耗尽怎么办 7.10 MALLOC/FREE 的使用要点 7.11 NEW /DELETE 的使用要点55 7.12 一些心得体会 第8 章 C++函数的高级特性 8.1 函数重载的概念 8.2 成员函数的重载、覆盖与隐藏 8.3 参数的缺省值 8.4 运算符重载 8.5 函数内联 8.6 一些心得体会 第9 章 类的构造函数、析构函数与赋值函数 9.1 构造函数与析构函数的起源 9.2 构造函数的初始化表 9.3 构造和析构的次序 9.4 示例:类STRING 的构造函数与析构函数 9.5 不要轻视拷贝构造函数与赋值函数 9.6 示例:类STRING 的拷贝构造函数与赋值函数 9.7 偷懒的办法处理拷贝构造函数与赋值函数 9.8 如何在派生类中实现类的基本函数 9.9 一些心得体会 第10 章 类的继承与组合 10.1 继承 10.2 组合 第11 章 其它编程经验 11.1 使用CONST 提高函数的健壮性 11.2 提高程序的效率 11.3 一些有益的建议

2009-08-16

五子棋程序(C++)

1.3.1 开发环境  Intel® Pentium® 4 2.0GHz,512M内存,80G硬盘  Microsoft® Windows™ 2000 Professional  Microsoft® Visual C++ 6.0  Microsoft® Developer Network for Visual Studio.NET 2003  Visual Assist X 10.1.1301.0 1.3.2 运行环境  Intel® Pentium® 2及以上处理器,32M以上内存,4G以上硬盘  Microsoft® Windows™ 9X/NT操作系统  800*600或以上的屏幕分辨率

2009-08-14

WindowsAPIdq.chm(中文版)

文档里面包含了 windows API函数的介绍,参数什么的都介绍比较清楚了。 其中包括了MFC 里面的函数。 是中文版本的。 希望对大家有用!

2009-08-13

C++ 函数库参考.chm

对c++函数库的里面的函数进行描述的一个参考资料, 感觉里面的函数算是比较全了, 拿出来给大家分享!

2009-08-13

mysee客户端的配置文件

这个文件是在下载的mysee开源项目中,没有的一个配置文件。配置文件是mysee客户端的一个配置文件。 名字是config.ini。 经过了很长时间才找到的,现在提供出来,希望对大家有用。

2009-08-07

MMS协议原理及实现

讲述了MMS协议原理, 是一篇PDF格式的论文。

2009-08-06

C++ Primer(第4版)习题解答(完整版).rar

第四版C++Primer的课后习题解答 PDF格式的答案(比较全了)

2009-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除