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

摘要:lightdb中extra_float_digits参数可以用来控制浮点数输出的精度,其采用原生c语言的float4/float8实现,可能我们在平时使用中并不太会留意,但是显示的时候会有一些问题。 建一张表,两个字段类型分别是float和numeric,然后插入数据,如下: zjh@postgre 阅读全文
posted @ 2022-12-19 13:53 zhjh256 阅读(112) 评论(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 阅读(965) 评论(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 阅读(1420) 评论(0) 推荐(0)
摘要:json-c是最主流的json c库。[root@hs-10-20-30-193 build]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. -- The C compiler identification is GNU 4.8.5 -- Check for 阅读全文
posted @ 2022-06-18 20:36 zhjh256 阅读(219) 评论(0) 推荐(0)
摘要:void getCurrentDateTime(char* current_datetime) { time_t nowtime; struct tm* timeinfo; time(&nowtime); timeinfo = localtime(&nowtime); int xtn = timei 阅读全文
posted @ 2022-05-11 11:21 zhjh256 阅读(249) 评论(0) 推荐(0)
摘要:Program terminated with signal 6, Aborted,有可能啥原因呢?其中一种原因就是事实上的OOM(虽然/var/log/message中没有标明操作系统kill了进行,应该是进程内部初始化已申请内存时报错了,因为malloc的申请会被OS尽可能延后的分配,所以很有可 阅读全文
posted @ 2022-04-23 16:58 zhjh256 阅读(1100) 评论(0) 推荐(0)
摘要:内存地址在0x7ff16473d000,相当于‭140,674,749,157,376‬(127T965GB(131013GB)处开始,47位最大是128TB,131072GB),如下,也就是在用户空间(0~0x7FFF FFFF FFFF,128GB)快顶部(差59GB)的位置。 因为48bit空 阅读全文
posted @ 2022-01-29 12:08 zhjh256 阅读(1838) 评论(0) 推荐(0)
摘要:首先可以确定是ulimit已经都设置为ulimited,所以一定不是内核大小限制的问题。 BFD: Warning: /tmp/barry/core.exdoc_usermaint.11 is truncated: expected core file size >= 43548672, found 阅读全文
posted @ 2021-12-10 21:34 zhjh256 阅读(797) 评论(0) 推荐(0)
摘要:可变参数宏 1999年的ISO C标准里规定了可变参数宏,语法和函数类似,比如: #define debug(format, ...) fprintf (stderr, format, __VA_ARGS__) 其中的"…"表示可变参数,实际调用时,它们会替代宏体里的__VA_ARGS__。GCC支 阅读全文
posted @ 2021-12-04 20:39 zhjh256 阅读(181) 评论(0) 推荐(0)
摘要:运算符优先级和结合性一览表 优先级运算符名称或含义使用形式结合方向说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)函数名(形参表) . 成员选择(对象) 对象.成员名 -> 成员选择(指针) 对象指针->成员名 2 - 负号运算符 -表达式 右到左 单目运算符 (类型 阅读全文
posted @ 2021-11-28 16:10 zhjh256 阅读(226) 评论(0) 推荐(0)
摘要:要理解WAL,首先要知道WAL文件、WAL块以及WAL记录的物理布局。 https://www.pgcon.org/2012/schedule/attachments/258_212_Internals%20Of%20PostgreSQL%20Wal.pdf 启动时redo重放流程: [zjh@hs 阅读全文
posted @ 2021-11-07 16:58 zhjh256 阅读(1057) 评论(0) 推荐(0)
摘要:本来vs是没有意见的,实在是vs 2017太大了,又不做windows下开发。从2020.2开始,clion原生支持makefile、cmake则很早就支持,这样对于makefile工程如pg就不再需要通过cmakefile调用makefile。https://isocpp.org/blog/202 阅读全文
posted @ 2021-10-04 12:23 zhjh256 阅读(1885) 评论(0) 推荐(0)
摘要:PostgreSQL Data Type SQL/JDBC Data Type Java Type bool BIT boolean bit BIT boolean int8 BIGINT long bigserial BIGINT long oid BIGINT long bytea/blob B 阅读全文
posted @ 2021-09-06 15:26 zhjh256 阅读(887) 评论(0) 推荐(0)
摘要:文件指针是指向一个FILE的结构体,这个结构体里包括一个文件描述符(在Windows下也被称为文件句柄)和一个I/O缓冲区。文件描述符用于C标准的IO库调用中,用于标识文件。FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获得fp中所包含文件描述符fd的信息。文件描述 阅读全文
posted @ 2021-09-06 13:23 zhjh256 阅读(371) 评论(0) 推荐(1)
摘要:信号分成两种: regular signal( 非实时信号 ), 对应的编码值为 [1,31] real time signal 对应的编码值为 [32,64] 编码为 0 的信号 不是有效信号,只用于检查是当前进程否有发送信号的 权限 ,并不真正发送。 线程会有自己的悬挂信号队列 , 并且线程组也 阅读全文
posted @ 2019-05-26 22:48 zhjh256 阅读(1369) 评论(0) 推荐(0)
摘要:调用最简单的JNI没有出错,但是涉及到OCI时就会异常退出,分析后基本确定是OCI 11g中的signal所致,参考ora-24550 signo=6 signo=11解决。 但是这个相同的so库直接被其它c++应用调用就一直正常,但是java通过jni调用就会挂掉,而且很有规律。如果是单个线程循环 阅读全文
posted @ 2019-05-05 11:36 zhjh256 阅读(1610) 评论(0) 推荐(0)
摘要:实际上目前Linux下C开发一般都是C++实现下的C,而不是最纯粹的C,使用g++而不是gcc编译,所以直接学习C++的过程性C部分是更加高效的。 C++ Primer(中文版 第5版)C++学习头牌 全球读者千万 C++标准库(第2版) C++编程思想(两卷合订本) C语言接口与实现 创建可重用软 阅读全文
posted @ 2019-05-05 11:25 zhjh256 阅读(5544) 评论(0) 推荐(0)
摘要:%3|1538976114.812|FAIL|rdkafka#producer-1| [thrd:kafka-server:9092/bootstrap]: kafka-server:9092/0: Receive failed: Disconnected%3|1538976114.812|ERRO 阅读全文
posted @ 2018-10-09 11:54 zhjh256 阅读(3604) 评论(0) 推荐(0)
摘要:glibc是gcc实现的c运行时库,也是linux下主要的c标准库实现。visual studio c运行时库为CRT,即Visual Studio 2019 C语言运行时库(CRT),位于 C:\Program Files (x86)\Microsoft Visual Studio\2019\Co 阅读全文
posted @ 2018-10-07 11:03 zhjh256 阅读(187) 评论(0) 推荐(0)
摘要:最近在制作我们系统的发布包时,整理到ftp的时候,发现我们使用的是ssh模式进行文件传输的,而不是RFC 959的ftp,于是查了下,发现存在两种模式的文件传输模式,FTP和SSH。 第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供 阅读全文
posted @ 2018-09-24 13:07 zhjh256 阅读(2673) 评论(0) 推荐(0)