自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (45)
  • 收藏
  • 关注

原创 C++ 内存布局 - Part6: 虚继承

虚继承可以在菱形继承体系中,防止派生类中有多份重复祖基类内容。如下图所示,如果是常规继承,Class Final中会有两份Class Base的内容。通过虚继承,即Derived1 虚继承自Base, Derived2 也虚继承自Base, 那么Final中将最终保留一份Base部分的内容。

2024-10-17 13:34:52 887

原创 C++ 内存布局 - Part5: 继承关系中 构造析构与vptr的调整

当delete这个派生类对象时,首先执行派生类的析构函数,此时对象的vptr仍然执行派生类的虚表,派生类的析构函数会继续执行基类的析构函数,此时对象的vptr会指向基类的虚表。当new一个派生类对象时,首先会执行基类的构造函数,这时这个构造中的对象,其vptr指向基类的虚表,当基类部分构造完毕,继续执行派生类的构造函数时,此时对象的vptr指向派生类的虚表。从结果中可以看到, 在执行Base部分的构造和析构时,vptr指向的是基类的虚表,指向Derived部分的构造和析构时,vptr指向的是派生类的虚表。

2024-10-14 11:35:45 299

原创 C++ 内存布局 - Part4: 多继承与this指针调整

可见,Base2中被重写的Derived::fooC() 函数指针被放到了_vptr.Base1虚表之中,没有被重写的Base2::fooD() 依然存放在_vptr.Base2。可见,是将指向Base2部分的指针向上偏移16,指向Derived对象的内存起始地址,从而访问到Base1部分虚表里的Derived::fooC()将会对当前的this指针(b2ptr)向上偏移到Derived对象起始地址。

2024-08-20 19:45:24 566

原创 C++ 内存布局 - Part3: 隐式转换为基类指针

如果new一个派生类对象,把new之后的指针赋值给基类指针,那这个基类指针指向哪里,一定是这个派生类对象的起始地址吗?【答案】赋值给基类指针以后,这个基类指针会指向派生类对象中这个基类部分的起始地址,编译器自动进行了指针偏移操作。

2024-08-16 22:46:43 406

原创 C++ 内存布局 - Part2: 从内存布局角度看类型转换 static_cast, dynamic_cast, reinterpret_cast

开门见山,先把结论写在这里:1)static_cast 在做基类指针和派生类指针之间的转换时,会根据编译时的静态偏移操作指针,但是没有运行期的类型安全检查,程序员需要自己确保类型的正确性,比如派生类指针确实指向了派生类对象。2)dynamic_cast 依赖于虚表做运行期类型检查,适用于有虚函数的类型转换。3)reinterpret_cast是最不安全的类型转换,完全暴力强制转换。

2024-08-16 15:19:27 1115

原创 C++ 内存布局 - Part1: typeid, typeinfo及单继承

typeinfo中存储的是关于类型的信息,可以通过以下代码都是在X86_64 Linux中完成,g++编译。可见,在没有虚函数的情况下,即使指针 ptr实际指向的是派生类对象,但是没有虚表的帮助,只能返回编译器静态类型,也就是基类类型。[有虚函数的类继承]

2024-08-13 13:51:25 651

原创 C11与C++11关于Atomic原子类型的异同

头文件C11 使用。C++11 使用。数据类型C11 使用atomic_int等_Atomic类型定义。C++11 使用模板类。初始化C11 推荐使用宏进行初始化,也可以直接赋值。C++11 通过构造函数直接初始化。操作函数C11 使用标准库函数,如。C++11 使用类成员函数,如storeload。编译参数C11 需要使用-std=c11。C++11 需要使用-std=c++11。

2024-06-17 09:51:39 625

转载 GNU C 宏构造利器:语句表达式

GNU C 对 C 标准作了扩展,允许在一个表达式里内嵌语句,允许在表达式内部使用局部变量、for 循环和 goto 跳转语句。这样的表达式,我们称之为语句表达式。({ 表达式1;表达式2;表达式3;})语句表达式最外面使用小括号()括起来,里面一对大括号{}包起来的是代码块,代码块里允许内嵌各种语句。语句的格式可以是 “表达式;”这种一般格式的语句,也可以是循环、跳转等语句。跟一般表达式一样,语句表达式也有自己的值。语句表达式的值为内嵌语句中最后一个表达式的值。我们举个例子,使用语句表达式求值。

2024-06-14 16:08:05 173

转载 [转载] linux内核中GNU C和标准C的区别

linux 系统上可用的C编译器是GNU C编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布。GNU C对标准C进行进一步扩展,以增强标准C的功能。

2024-06-14 15:09:25 164

原创 Netfilter/iptables

其中:etables作用域数据链路层,arptables针对ARP, iptables/ip6tables针对IP层。nftables 是新的包过滤组件.nft是相对应的新的用户态组件,用于替换etables,arptables,iptables,ip6tables.

2024-06-02 19:58:29 396

原创 GDB调试Linux内核模块

调试内核模块与调试内核类似,一点区别是内核模块需要单独编译,编译时注意加入符号信息。在调试机进行远程调试时,需要载入这些符号信息,同时需要指定模块在内核中的地址。

2024-05-22 19:45:26 861

原创 SO_REUSEPORT 之 TCP负载均衡验证

首先启动两个tcp server, 代码里开启 SO_REUSEPORT。从回复的server 进程id 可见,负载均衡做的很好。

2024-05-21 11:33:17 473

原创 Virtualbox环境通过GDB调试Linux内核

版本 linux-5.10.216.tar.xz。

2024-05-16 16:10:16 1229

原创 VirtualBox虚拟机串口通信

设置方式就是在VirtualBox的设置里面设置串口,需要注意的是其中一台不勾选“连接至现有通道或套接字”,另外一台勾选,不勾选的那台需要先启动。在其中一台执行 cat /dev/ttyS0 ,另外一台执行 echo "hello world" > /dev/ttyS0。可以看到在执行cat /dev/ttyS0 的机器同步输出。现在希望两台CenOS虚拟机能通过串口通信。两台Guest虚拟机: CentOS。设置前先关闭两台虚拟机。

2024-05-16 13:10:46 927

原创 Docker安装配置

1) 查找镜像,如果有阿里云账号,那么:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors。参照:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy。通过docker info可以查看是否已经生效。通过docker info可以查看是否已经生效。然后可以执行docker build。Docker中国区官方镜像。

2024-03-22 11:46:01 430

原创 k8s containerd查看镜像

【代码】k8s containerd查看镜像。

2023-10-08 16:47:48 952

原创 k8s 集群安装(vagrant + virtualbox + CentOS8)

主机环境:windows 11k8s版本:v1.25dashboard版本:v2.7.0calico版本: v3.26.1CentOS8版本:4.18.0-348.7.1.el8_5.x86_64##################### 所有节点都需要执行的操作 开始 #################ssh配置:配置centos yum源:如果需要设置代理:增加一行:### 升级内核:安装完以后reboot。

2023-10-07 15:11:04 981

原创 hugging face inference API返回内容太短的问题

【代码】hugging face inference API返回内容太短的问题。

2023-09-01 10:35:20 436

原创 Doxygen 生成UML类图

Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统。

2023-08-16 13:08:59 1161

原创 C语言 json parser - JSMN

json parser jsmn

2023-04-04 11:26:33 368

转载 googletest运行机制

gtest

2023-03-14 10:33:04 403

原创 linux本地随机端口范围及预留端口

linux随机端口

2023-03-13 15:45:04 939

原创 ICMP udp port unreachable

udp icmp

2023-03-13 15:37:35 1674

原创 TCP keepalive

tcp keepalive

2023-03-10 15:55:57 316

原创 C++ namespace命名空间

C++ namespace

2023-03-09 10:40:10 277

原创 CentOS8 源码包

centos src rpm

2023-03-08 09:45:16 186

原创 CentOS救援模式(Rescue Mode)及紧急模式(Emergency Mode)

当CentOS操作系统崩溃,无法正常启动时,可以通过救援模式或者紧急模式进行系统登录。启动CentOS, 当出现下面界面时,按e进入编辑界面。在编辑界面里,加入参数:systemd.unit=rescue.target ,然后Ctrl-X启动进入救援模式。在编辑界面里,加入参数:systemd.unit=emergency.target, 然后Ctrl-X进入紧急模式。

2023-03-01 11:14:25 8485

原创 添加动态库运行期搜索目录

gcc - I don't understand -Wl,-rpath -Wl, - Stack Overflow运行时动态库:not found 及介绍-Wl,-rpath_Homejim的博客-优快云博客_rpath

2022-01-25 16:27:54 368

转载 TCP connection queue and backlog parameters

原文: https://www.programmersought.com/article/3841592816/There is one hereSO_BACKLOGParameters, this article explains the specific use of this parameter.TCP connection queueLet's take a look at the TCP three-way handshake process:When the client s

2021-05-10 09:33:59 271

原创 linux内核算法 - 其他

linux内核算法 - 其他 待续

2020-07-06 10:27:46 276 1

原创 linux内核算法3

linux内核算法3 待续

2020-07-06 10:26:44 256

原创 linux内核算法2

linux内核算法2 待续

2020-07-06 10:25:38 215

原创 linux内核算法1

linux内核算法1 待续

2020-07-06 10:24:59 298

原创 linux内核 - futex锁

linux内核 - futex

2020-07-06 10:16:19 328

原创 linux内核数据结构 - 其他

linux内核数据结构 - 其他 待续

2020-07-06 10:14:34 204

原创 linux内核数据结构 - tree

linux内核数据结构 - tree 待续

2020-07-06 10:13:51 244

原创 linux内核数据结构 -map

linux内核数据结构 -map 待续

2020-07-06 10:13:20 620

原创 linux内核数据结构 - Queue

linux内核数据结构队列,待续

2020-07-06 10:10:59 235

原创 linux内核数据结构--List

内核链表数据结构,待续

2020-07-06 10:10:02 273

原创 linux网卡多队列

RSS: Receive Side ScalingRPS: Receive Packet SteeringRFS: Receive Flow SteeringAccelerated Receive Flow SteeringXPS: Transmit Packet Steering

2020-05-25 15:58:52 357

busybox依赖静态库

busybox依赖静态库

2024-05-17

busybox依赖静态库

busybox依赖静态库

2024-05-17

参考.config文件

参考.config文件

2024-05-16

mtputty.zip

基于putty的免费ssh client, 支持tab多窗口,压缩包包含安装文件及配置说明

2019-06-26

gcc依赖文件gmp4.3.2+mpfr2.4.2+mpc0.8.1

gcc安装依赖库,gmp-4.3.2.tar.bz2, mpfr-2.4.2.tar.bz2, mpc-0.8.1.tar.gz

2018-10-18

pycaffe依赖包

pycaffe依赖包,matplotlib在我的其他资源里

2017-04-28

matplotlib-2.0.0.tar.gz

matplotlib-2.0.0.tar.gz

2017-04-28

python pip_1.3.1

pip 1.3.1

2017-04-27

python setuptools

python setuptools

2017-04-27

python 2.7.9

python 2.7.9

2017-04-27

opencv 2.4.10

opencv 2.4.10

2017-04-27

boost_1_60_0.tar.gz

boost 1.60

2017-04-27

caffe安装依赖包(for CentOS6.7)

caffe依赖包

2017-04-27

scikit-learn 0.17安装包for python3.5 win32

scikit-learn安装包集合,依次安装:numpy-1.11.2+mkl-cp35-cp35m-win32.whl,scipy-0.18.1-cp35-cp35m-win32.whl,scikit-learn-0.17.win32-py3.5.exe numpy和scipy通过pip install xxx.whl方式安装

2016-11-18

gerrit2.11

gerrit 安装部署包,版本号2.11

2015-12-15

TortoiseGit

Windows下Git客户端,TortoiseGit

2015-12-15

git preview

安装TortoiseGit客户端之前需要先安装的git preview工具,用于客户端代码查看

2015-12-15

netty http protobuf

netty http protobuf示例,包括client和server端

2015-08-04

netty http client & server

netty http client & server 示例源码

2015-08-04

protobuffer example

protobuffer maven示例工程,包括类生成,序列化反序列化

2015-08-03

protobuf-2.4.1.tar.gz

protobuf-2.4.1.tar.gz, 用于setup protobuf运行环境

2015-08-03

protobuf可执行文件exe

protobuf可执行文件exe, 用于生成protobuf类文件

2015-08-03

ganglia安装文件

ganglia安装包,以及部分依赖rpm包

2015-07-29

avro-rpc程序示例

Avro RPC示例源码,包括client与server端,底层采用Netty

2015-07-21

avro-doc-1.7.7

avro序列化反序列化示例源码,支持两种方式,提前根据schema生成类文件或者不提前生成

2015-07-21

firefox下restclient插件

开发http应用的必备工具,在firefox下发送各种http消息

2014-11-16

firefox下http抓包插件

与IE下的httpwatch类似,用于firefox下抓取http消息流

2014-11-16

graphite0.9.9相关安装包

whisper: 0.9.9, Carbon: 0.9.9, graphite-web: 0.9.9 在python2.7.3,Django1.3环境下安装成功

2014-11-09

cas-server-webapp

改造cas,实现自定义登录页面,及错误跳转。具体参考我的博客 http://blog.youkuaiyun.com/just_lion/article/details/17204979

2013-12-08

mybatis返回Integer

mybatis返回int会报错,改成Integer封装类型可以解决,具体参考我的博客

2013-08-01

spring MVC 初始启动blocking queue

spring MVC 初始启动concurrent blocking queue,通过@PostConstruct 注解实现,详情参考我的博客

2013-07-31

spring mvc restful service

spring mvc restful service,支持string, json, xml, maven工程,可以直接运行

2013-07-30

jmeter xsl样式表

jmeter extras里提供了一些xsl样式表,但是不方便看细节,这个样式表转自,可以看细节报告

2013-06-21

springMVC+mybatis+jpetstore工程源码

springMVC自带的jpetstore用的是ibatis,这里改造为mybatis,数据库用的是mysql,可以直接在eclipse运行

2013-05-13

springMVC+jpetstore+mysql工程源码

在springMVC自带的jpetstore的基础上,做了配置,使用mysql数据库,可以在eclipse中直接编译

2013-05-09

springMVC自带的jpetstore源码

springMVC自带的jpetstore源码,没有经过任何修改,可以根据自己的需要做调整

2013-05-08

mondrian war项目maven编译

mondrian默认采用ant build,这里的war项目采用maven编译,可以直接在eclipse里运行

2013-04-26

resteasy使用源码

resteasy在jboss7.1中的使用介绍,源代码,两种方式,自动注册rest service以及在程序中实现

2013-04-24

mondrian xmla配置需要的jar

jpivot + mondrian + xmla配置需要的jar, 包括 commons-discovery-0.2.jar jaxrpc.jar axis.jar wsdl4j-1.5.1.jar

2013-04-22

pentaho sample data sql

pentaho 社区版的数据库在换到mysql以后,缺少sample data数据库的创建语句,这个sql就是用来做这件事的。

2013-03-14

空空如也

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

TA关注的人

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