随笔分类 -  c/c++/go/rust

摘要:1、安装和环境变量,代理配置 GOROOT:安装 go 的路径。包含了 Go 语言的标准库、编译器等工具。在使用 Go 编译器、运行时等工具时,它们会默认从 GOROOT 中查找相关的文件。如下: 系统模块位于src目录下。 一般情况下,我们不需要修改 GOROOT 的值,除非要更换go版本。 GO 阅读全文
posted @ 2025-01-10 15:28 zhjh256 阅读(62) 评论(0) 推荐(0) 编辑
摘要:GCC地址空间随机化是一种安全措施,旨在增加攻击者利用缓冲区溢出攻击的难度。这通常通过对堆、栈和其他内存区域进行随机化来实现。在GCC中,可以使用-fstack-protector-strong、-random-base和-Wl,-z,relro,-z,now等编译选项来实现。 -fstack-pr 阅读全文
posted @ 2024-09-16 19:46 zhjh256 阅读(44) 评论(0) 推荐(0) 编辑
摘要:在不少服务器应用中,会采用插件化或者模块化的体系实现具体的业务功能,比如mysql支持插件化体系,nginx采用模块化体系。总得来说,很多时候,因为扩展性,系统会采用动态加载so的方式扩展业务功能,而主框架不需要每次新增功能就不得不重新编译,很多时候,对于二进制发行的应用来说,不可能这么做。 最近抽 阅读全文
posted @ 2024-08-04 09:05 zhjh256 阅读(742) 评论(0) 推荐(0) 编辑
摘要:0、和java一样,go也是跨平台,天生支持Unicode。但是go直接生成可执行文件,性能更高,内存占用少。但是又和java一样,go打出来的二进制包能够扫描到依赖的库,如果库有漏洞,安全扫描会被扫出来。 1、安装、环境配置及术语 从https://golang.google.cn/下载对应的版本 阅读全文
posted @ 2024-01-14 22:55 zhjh256 阅读(105) 评论(0) 推荐(0) 编辑
摘要:CMU 15-445/15-645中在索引一节有提到“Pointer Swizzling”,意思是内存地址和物理地址之间的转换。但它的翻译当前没有很能表达意思的术语,理解即可,有时候就是不好翻译不如不翻译。 https://stackoverflow.com/questions/21218304/w 阅读全文
posted @ 2024-01-05 20:43 zhjh256 阅读(136) 评论(0) 推荐(0) 编辑
摘要:回文子串基本是动态规划里面的应用示例之一。虽然在实际中或者网上,我没有找到回文子串的使用案例。 #include <stddef.h> #include <stdio.h> #include <string.h> void longestPalindrome(char str[100],size_t 阅读全文
posted @ 2024-01-03 09:48 zhjh256 阅读(12) 评论(0) 推荐(0) 编辑
摘要:主要用于避免遍历的时候做无用功。 // 用于处理不相交集合的合并问题。 // 经典应用有: // –连通子图 // –最小生成树Kruskal算法 // –最近公共祖先 // O(n) #include <bits/stdc++.h> // 万能库,测试可用,生产不可用 using namespac 阅读全文
posted @ 2024-01-02 22:05 zhjh256 阅读(12) 评论(0) 推荐(0) 编辑
摘要:创建无向图的邻接表和邻接矩阵 ALGraph.h #pragma once #define MAXVEX 100 typedef char VertexType; //顶点类型 typedef int EdgeType; //边上的权值类型 struct EdgeNode //边表结点 { int 阅读全文
posted @ 2024-01-01 23:36 zhjh256 阅读(20) 评论(0) 推荐(0) 编辑
摘要:c/c++编译、构建工具链(包括4部分 编译工具,构建工具,sdk,运行时库)。https://zhuanlan.zhihu.com/p/655701220虽然cmake已经很成熟了,但是make和Ninja(pg 16采用Ninja而不是cmake)仍然广泛在使用中,并且相比cmake,make更 阅读全文
posted @ 2024-01-01 11:13 zhjh256 阅读(309) 评论(0) 推荐(0) 编辑
摘要:#include <stdio.h> #include <malloc.h> struct TreeHeap { int v; }; typedef struct TreeHeap TreeHeap; static void print_bp(int bp[],int len); void crea 阅读全文
posted @ 2023-12-31 10:37 zhjh256 阅读(37) 评论(0) 推荐(0) 编辑
摘要:log4cpp使用 http://log4cpp.sourceforge.net/ 编译时候遇到:Naming collision for 'ERROR' detected. Please read the FAQ for a workaround 解决方法:在包含log4cpp头文件之前增加宏定义 阅读全文
posted @ 2023-06-19 18:36 zhjh256 阅读(23) 评论(0) 推荐(0) 编辑
摘要:安装插件 better c++是必须的。 c/c++必备插件参见:https://blog.csdn.net/weixin_44834554/article/details/129797480 java出身习惯于eclispe快捷键,可以安装eclipse keymap 自动同步到远程 安装sftp 阅读全文
posted @ 2023-04-08 23:14 zhjh256 阅读(993) 评论(0) 推荐(0) 编辑
摘要:postgresql signal 5生成core,如下: [zjh@hs-10-20-30-193 data]$ gdb lightdb core.49666 GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7 Copyright (C) 20 阅读全文
posted @ 2023-03-24 09:19 zhjh256 阅读(56) 评论(0) 推荐(0) 编辑
摘要:对于系统服务来说,国际化是必须解决的非功能特性之一。因此理解本地化是系统编程的重要一个环节。本节梳理一下本地化相关的设置和影响。 首先看看原因。为什么时区正确很重要呢?因为很多应用的时间计算规则不同,通常是在UTC和本地时间之间不清晰,例如crontab定时任务以及其他定时任务。不同应用基于或返回U 阅读全文
posted @ 2023-03-08 11:23 zhjh256 阅读(316) 评论(0) 推荐(0) 编辑
摘要:首先来看下GB2312,GBK以及GB18030的区别。分几个方面: 1、收录汉字 GB2312:基本集共收入汉字6763个和非汉字图形字符682个。 GBK:共收录了21003个汉字。 GB18030 :共收录汉字70244个。 2、兼容性 GB2312:基本满足了汉字的计算机处理需要,对于人名、 阅读全文
posted @ 2023-03-08 11:22 zhjh256 阅读(545) 评论(0) 推荐(0) 编辑
摘要:int ret = log4c_init(); if (ret) printf("log4c_init() failed\n"); log4c_category_t* mycat = log4c_category_get("log4ctest"); log4c_category_log(mycat, 阅读全文
posted @ 2023-01-02 22:49 zhjh256 阅读(208) 评论(0) 推荐(0) 编辑
摘要:我们知道,Linux环境下经常使用rmdir来删除一个空文件夹,使用unlink函数删除文件链接。除此之外,C中的remove函数的功能也是删除文件,那么他们之间有什么区别? 通过man来查看remove函数的定义我们可知: 可以看到,remove函数底层会直接调用unlink()函数和rmdir( 阅读全文
posted @ 2023-01-02 14:58 zhjh256 阅读(725) 评论(0) 推荐(0) 编辑
摘要:lightdb中extra_float_digits参数可以用来控制浮点数输出的精度,其采用原生c语言的float4/float8实现,可能我们在平时使用中并不太会留意,但是显示的时候会有一些问题。 建一张表,两个字段类型分别是float和numeric,然后插入数据,如下: zjh@postgre 阅读全文
posted @ 2022-12-19 13:53 zhjh256 阅读(73) 评论(0) 推荐(0) 编辑
摘要:float是浮点型数据类型。也是postgresql/sql server中float/float4都指的是单精度(real在pg中就是单精度,保证6位而非7位精度,范围从1E-37~1E+37),使用c语言的浮点数直接存储实现。 float是C语言的基本数据类型中的一种,表示单精度浮点数。C语言规 阅读全文
posted @ 2022-12-17 21:35 zhjh256 阅读(744) 评论(0) 推荐(0) 编辑
摘要:1、在Linux下获取CPU核数 linux下可以通过linux系统提供的sysconf()来获取当前CPU个数,sysconf在头文件unistd.h中声明。 sysconf函数中输入参数_SC_NPROCESSORS_CONF和_SC_NPROCESSORS_ONLN均可以获取系统CPU个数。 阅读全文
posted @ 2022-06-25 18:29 zhjh256 阅读(1249) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示