随笔分类 - c/c++/go/rust
摘要: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
阅读全文
摘要:void getCurrentDateTime(char* current_datetime) { time_t nowtime; struct tm* timeinfo; time(&nowtime); timeinfo = localtime(&nowtime); int xtn = timei
阅读全文
摘要:Program terminated with signal 6, Aborted,有可能啥原因呢?其中一种原因就是事实上的OOM(虽然/var/log/message中没有标明操作系统kill了进行,应该是进程内部初始化已申请内存时报错了,因为malloc的申请会被OS尽可能延后的分配,所以很有可
阅读全文
摘要:内存地址在0x7ff16473d000,相当于140,674,749,157,376(127T965GB(131013GB)处开始,47位最大是128TB,131072GB),如下,也就是在用户空间(0~0x7FFF FFFF FFFF,128GB)快顶部(差59GB)的位置。 因为48bit空
阅读全文
摘要:首先可以确定是ulimit已经都设置为ulimited,所以一定不是内核大小限制的问题。 BFD: Warning: /tmp/barry/core.exdoc_usermaint.11 is truncated: expected core file size >= 43548672, found
阅读全文
摘要:可变参数宏 1999年的ISO C标准里规定了可变参数宏,语法和函数类似,比如: #define debug(format, ...) fprintf (stderr, format, __VA_ARGS__) 其中的"…"表示可变参数,实际调用时,它们会替代宏体里的__VA_ARGS__。GCC支
阅读全文
摘要:运算符优先级和结合性一览表 优先级运算符名称或含义使用形式结合方向说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)函数名(形参表) . 成员选择(对象) 对象.成员名 -> 成员选择(指针) 对象指针->成员名 2 - 负号运算符 -表达式 右到左 单目运算符 (类型
阅读全文
摘要:要理解WAL,首先要知道WAL文件、WAL块以及WAL记录的物理布局。 https://www.pgcon.org/2012/schedule/attachments/258_212_Internals%20Of%20PostgreSQL%20Wal.pdf 启动时redo重放流程: [zjh@hs
阅读全文
摘要:本来vs是没有意见的,实在是vs 2017太大了,又不做windows下开发。从2020.2开始,clion原生支持makefile、cmake则很早就支持,这样对于makefile工程如pg就不再需要通过cmakefile调用makefile。https://isocpp.org/blog/202
阅读全文
摘要: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
阅读全文
摘要:文件指针是指向一个FILE的结构体,这个结构体里包括一个文件描述符(在Windows下也被称为文件句柄)和一个I/O缓冲区。文件描述符用于C标准的IO库调用中,用于标识文件。FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获得fp中所包含文件描述符fd的信息。文件描述
阅读全文
摘要:信号分成两种: regular signal( 非实时信号 ), 对应的编码值为 [1,31] real time signal 对应的编码值为 [32,64] 编码为 0 的信号 不是有效信号,只用于检查是当前进程否有发送信号的 权限 ,并不真正发送。 线程会有自己的悬挂信号队列 , 并且线程组也
阅读全文
摘要:调用最简单的JNI没有出错,但是涉及到OCI时就会异常退出,分析后基本确定是OCI 11g中的signal所致,参考ora-24550 signo=6 signo=11解决。 但是这个相同的so库直接被其它c++应用调用就一直正常,但是java通过jni调用就会挂掉,而且很有规律。如果是单个线程循环
阅读全文
摘要:实际上目前Linux下C开发一般都是C++实现下的C,而不是最纯粹的C,使用g++而不是gcc编译,所以直接学习C++的过程性C部分是更加高效的。 C++ Primer(中文版 第5版)C++学习头牌 全球读者千万 C++标准库(第2版) C++编程思想(两卷合订本) C语言接口与实现 创建可重用软
阅读全文
摘要:%3|1538976114.812|FAIL|rdkafka#producer-1| [thrd:kafka-server:9092/bootstrap]: kafka-server:9092/0: Receive failed: Disconnected%3|1538976114.812|ERRO
阅读全文
摘要:glibc是gcc实现的c运行时库,也是linux下主要的c标准库实现。visual studio c运行时库为CRT,即Visual Studio 2019 C语言运行时库(CRT),位于 C:\Program Files (x86)\Microsoft Visual Studio\2019\Co
阅读全文
摘要:最近在制作我们系统的发布包时,整理到ftp的时候,发现我们使用的是ssh模式进行文件传输的,而不是RFC 959的ftp,于是查了下,发现存在两种模式的文件传输模式,FTP和SSH。 第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供
阅读全文
摘要:gdb调试程序函数名为问号,什么原因? http://bbs.chinaunix.net/thread-1823649-1-1.html http://www.bubuko.com/infodetail-1877415.html 其实就是3个原因:源代码和可执行程序版本不一致;没有符号表,这不只是-
阅读全文
摘要:最近在oracle linux 7.3下开发了个应用,发布到rhel 6.5运行的时候,报version `GLIBC_2.14' not found (required by /usr/lib64/libstdc++.so.6)以及libstdc++.so.6: version GLIBCXX_3
阅读全文
摘要:前一天在测试一个数据导出的时候,发现oci7编译的时候报了一大堆类似"’oparse’未定义的引用问题",这通常是因为找不到实现库的原因,但是oci相关的库又都是存在的,用oci7的接口就没有问题,找了很久都没找到,于是只能怀疑是oci7的接口c++无法兼容,于是将编译器从g++改成gcc,还是这个
阅读全文