Linux C
文章平均质量分 75
IT笔记
这个作者很懒,什么都没留下…
展开
-
【C语言】时间戳转换为年月日时分秒和年月日时分秒转换为时间戳,计算星期几和过去的天数(格林威治时间1970-01-01)
时间戳转换为年月日时分秒和将年月日时分秒转换为时间戳,计算星期, 从1970-01-01至今经过的天数原创 2022-08-26 22:25:40 · 3348 阅读 · 0 评论 -
【C语言】从字符串中提取正整数和负整数
从字符串提取正数负数,不能提取浮点数原创 2022-08-21 11:56:59 · 2730 阅读 · 0 评论 -
【C语言】内存池管理,分段维护,以bitmap形式存储,碎片利用,优化内存开销。
内存优化,bitmap写入读出,固定分区,碎片利用原创 2022-08-20 12:15:39 · 571 阅读 · 0 评论 -
Linux链接脚本lds和C程序混合调试
转载自https://www.cnblogs.com/li-hao/p/4107964.html一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制.链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –-verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).-T选项用以指定自己的链.转载 2022-04-05 21:09:23 · 747 阅读 · 0 评论 -
C语言求不同类型数据位图中1的个数
考虑到C语言不支持重载,使用宏函数的方式实现:支持求不同数据类型的位图#include <stdio.h>// 方法一:求取位图中1的个数#define GET_BITMAP_1_NUM_1(bitmap) ({\ typeof(bitmap) _bitmap = (bitmap);\ int count = 0;\ for(;_bitmap != 0;){\ if(_bitmap & 1) ++count...原创 2021-11-14 10:52:32 · 1739 阅读 · 0 评论 -
C语言中不同类型算术运算隐式转换规则验证
理论参考:(转载)C语言中算术运算的隐式类型转换规则 - robotke1 - 博客园/* C语言不同数据类型做算术运算类型隐含自动类型转换规则** char,short -> int -> unsigned int -> long -> double <- float** LL(long long ) UL(unsigned long) L(long) UI(unsigned int) I(int)** US(unsigned short) S(short) UC(原创 2021-11-13 19:10:08 · 506 阅读 · 0 评论 -
Linux C程序 dump trace
#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <execinfo.h>#include <sys/types.h>#include <unistd.h>#include <assert.h>#define MaxPrintDumpTraceLines 20void dump_trace(int signal){ ...原创 2021-10-10 17:31:25 · 721 阅读 · 0 评论 -
C语言:*(p++)与*p++ *(++p)与*++p ++*p与++(*p) (*p)++的区别
分析方法:后缀运算符++优先级高于前缀运算符++和*,后缀运算符++结合规律从左至右(即先返回值再自增),前缀运算符++和*的优先级相同,结合规律自右至左。举例如下:#include <stdio.h>int main(int argc, char *argv[]){ int arrayA[4] = {4, 3, 2, 1}; int *p1 = NULL, *p2=NULL; /* 1: *(p++)与*p++相同 */...原创 2021-09-25 17:52:42 · 2741 阅读 · 0 评论 -
计算机大端小端字节序理解(网络字节序)
大小端定义:大端存储模式:是指数据的低字节保存在内存的高地址中,而数据的高字节保存在内存的低地址中小端存储模式:是指数据的低字节保存在内存的低地址中,而数据的高字节保存在内存的高地址中举例:已知本机是小端存储模式,如下定义及赋值语句:union{unsigned int u32;unsigned short u16[2];unsigned char u8[4];}endianOrder;// htonl是将int型整数字节序由主机...原创 2021-09-25 16:27:15 · 769 阅读 · 0 评论 -
【C语言】十进制,十六进制,浮点数转换成字符串,实现printf函数(串口打印)
十进制转换成字符串,十六进制转换字符串,浮点数转换字符串,可应用于支持串口打印的单片机调试打印原创 2021-09-17 22:53:05 · 1333 阅读 · 0 评论 -
Linux下将进程/线程绑定到指定CPU核运行
如何查看Linux核数$ 总核数 = 物理CPU个数 X 每颗物理CPU的核数$ 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数$ 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l$ 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu cores"| uniq$ 查看逻辑CPU的个数cat /proc/cpuinfo| gr原创 2021-09-15 22:25:42 · 6278 阅读 · 0 评论