C语言代码片段总结 2018-09-01 23:47 我的程序代码 Linux编程工程库代码 82 字 #pragma为C语言预处理宏。可用#pragma pack(N)指定结构体N字节对齐。1字节对齐: 1234567891011#pragma pack(push)#pragma pack(1)// 头部struct header_t { uint8_t word1; uint8_t word2; uint8_t cmd; uint16_t len;};#pragma pack(pop) GCC编译器扩展形式,1字节对齐: 1234567// 头部struct header_t { uint8_t word1; uint8_t word2; uint8_t cmd; uint16_t len;} __attribute__((packed));
Linux系统C/C++通用错误码实现模板 2018-09-01 23:47 我的程序代码 Linux编程工程库代码 1.7k 字 背景公司C++项目初期是安排不同的人编写不同的模块,有嵌入式ARM的,有socket协议的,有mysql的,有redis的,不同人风格不同。由于当时我还在运维小组搞docker,没参与规则的制定,后来接手时,开始确定编码规范,也建立了Git管理(Git尝试过sub modules,不过太过繁琐,最终弃用了),由于历史原因,后面要不断重构代码。 阅读全文>>
阿里云ECS修复ubuntu 16.04漏洞过程 2018-09-01 13:26 GNU/Linux系统 cuda 364 字 之前有一次登陆阿里云网站后台,收到漏洞提醒信息。本文记录一下修复的过程。 阅读全文>>
遇到一个valgrind自身的bug 2018-08-30 22:23 技术杂铺 问题集 1.1k 字 背景公司C++项目代码使用了cppcheck做静态代码检查,也使用valgrind检查是否有内存泄漏问题。我多次强调要做到0警告,虽然有了CICD的Jenkins自动检查,也将结果通过邮件发给项目人员,但有的人还是没去修正警告,由于不是自己管辖范围,不好多说什么。最近使用valgrind测试,遇到了未识别指令的问题(运行的程序被认为是非法指令)。经查发现是valgrind版本太低造成的。 阅读全文>>
我的docker随笔16:构建一个特定的nodejs镜像 2018-08-24 20:04 docker docker 1.1k 字 一、背景某网友需要对区块链交易的项目进行测试。测试脚本需要在nodejs环境中运行,脚本有server.js、package.json,主要依赖包为web3(当然还是其它的)。为方便测试,较好的解决方案是利用docker搭建环境。本文在ubuntu 16.04上进行实验。 阅读全文>>
我的docker随笔15:MySQL启动时自动创建数据库 2018-08-20 22:08 docker docker 931 字 一、背景及分析MySQL容器启动时,会自动创建一些必要的数据库,比如MySQL,这是官方默认的做法。但是,在实际中,还需要让MySQL自动创建我们自定义的数据库。本文就此应用场合进行探究。 阅读全文>>
linux系统C语言实现域名解析功能 2018-08-17 13:31 我的程序代码 Linux编程工程库代码 492 字 背景后台项目划分几个小服务,分别部署到不同的docker容器中,不同服务通过socket连接,docker的IP地址是由dockerd自动分配的,当然,也可以固定IP,但这样不好。因此,为了方便部署和维护,考虑通过容器别名的方式。容器名通过ini配置文件传递到程序里,程序需要根据容器名解析出对应的IP地址。于是找了些实现域名解析的方法。 阅读全文>>
我的docker随笔10:docker客户端使用其它主机的docker服务器 2018-08-06 00:24 docker docker 739 字 我们使用的docker,都是在本机之内使用的,即docker服务端与客户端都有同一个机器,但是,有时候,需要在本机连接远程服务器的docker,本文就此情形展开研究。 阅读全文>>
我的docker随笔9:docker在centos上的安装 2018-08-05 00:24 docker docker 148 字 本文介绍在centos 7 64bit主机上进行docker的安装。 阅读全文>>
我的docker随笔8:docker容器相互访问 2018-08-04 00:24 docker docker 1.9k 字 很多时候,同一台机器上,需要运行多个docker容器,前文提到的docker-compose就是方便同时管理多个容器的工具,那么,容器与容器之间如何访问、通信呢?本文对此问题进行探讨。 阅读全文>>