编程语言
suxingtian
这个作者很懒,什么都没留下…
展开
-
自造轮子--c++ string 分割
C++ std::string 字符串分割轮子。原创 2023-01-29 16:17:12 · 114 阅读 · 0 评论 -
C实现 list.c,尽量靠近STL::LIST
C实现 list.c,尽量靠近STL::LIST原创 2022-09-21 20:06:35 · 123 阅读 · 0 评论 -
简单的tcp-server和linux线程的demo
也许可以尽量模拟单片机代码到linux下;原创 2022-07-01 11:20:34 · 541 阅读 · 0 评论 -
tcp-server-echo epull
直接上代码#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <string.h>#include <sys/stat.h> #include <sys/ioctl.h>#include <sys/types.h>#include <sys/socket.h>#in原创 2022-04-12 13:18:16 · 2555 阅读 · 0 评论 -
inet_ntop6 源码
#if defined(_WIN32) || defined(_WIN64)//Windows includes#include <ws2tcpip.h>#include <string.h>#include <stdio.h>#include "inet_ntop.h"#ifdef __cplusplus // extern "C" {#endifstatic const char *inet_ntop4 (const u_char *src, c.原创 2022-03-20 15:21:44 · 595 阅读 · 0 评论 -
windows下inet_ntop报错
下面的连接有,实际在QT中用MinGW构建却报错没有,于是用WSAAddressToStringA来实现inet_ntop function (ws2tcpip.h)inet_ntop function (ws2tcpip.h) - Win32 apps | Microsoft DocsPCSTR WSAAPI inet_ntop(INT Family,const VOID *pAddr,PSTR pStringBuf, size_t StringBufSize){ if(pSt..原创 2022-03-19 23:01:32 · 1256 阅读 · 0 评论 -
mysql 基础操作
MariaDB安装配置简介MariaDB 是mysql的开源免费分支,命令兼容环境centos7.9安装 启动 开机启动yum install mariadb-serversystemctl start mariadb systemctl enable mariadb 查看启动结果ps -aux | grep mysqld/bin/sh /usr/bin/mysqld_safe --basedir=/usr/usr/libexec/mysqld --basedir=/usr --原创 2022-01-28 10:31:34 · 1288 阅读 · 0 评论 -
LNMP环境搭建
LNMP环境搭建linux centos7.9 腾讯云FTP配置yum install vsftpduseradd -d /usr/share/nginx/html/wordpress wordpressvim /etc/vsftpd/vsftpd.conf chroot_local_user=YES #所有用户限制在自己home目录 allow_writeable_chroot=YES重启生效systemctl restart vsftpdSFTP服务配置创建用户us原创 2022-01-28 10:27:12 · 3692 阅读 · 0 评论 -
通用makefile C/C++
编译连接makefile同级目录下*.c *.cpp 并生成目录同名可执行文件后续有需求在弄其他COMPLITE=arm-none-linux-gnueabi-CC=$(COMPLITE)gccCXX=$(COMPLITE)g++LD=$(COMPLITE)ldCFLAGS=-I./CPPFLAGS=-I./LDFLAGS=-L./LIBS=#-Wall -fPIC -sharedC_FILES := $(wildcard *.c)CPP_FILES := $(wil原创 2022-01-19 11:27:17 · 586 阅读 · 0 评论 -
linux文件夹大小计算<递归>
#include <sys/stat.h>#include <stdio.h>#include <dirent.h>#include <libgen.h>#include <string.h>#include <stdlib.h>/*仅仅计算 d_type == DT_REG 的文件大小文件绝对路径名超过1024 的统计/a/b/c ... 1024*512 内存空间*/unsigned long _di.原创 2022-01-04 14:58:00 · 810 阅读 · 0 评论 -
ARM字节序交换
试用前请查看内核手册是否支持 REV 和 REV16 命令//eg a=0x12345678 b=0x78563412inline uint32_t arm_rev32(register uint32_t a){ uint32_t b; __ASM { REV b, a } return b;}//eg a=0x1234 ,b=0x3412 inline uint16_t arm_rev16(register uint.原创 2021-06-01 11:55:15 · 600 阅读 · 0 评论 -
ghostscript9.26交叉编译
ghostscript9.26交叉编译测试命令./gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE -sPAPERSIZE=a4 -r300x300 -sDEVICE=pbmraw -sOutputFile=output.pbm iuput.pdf交叉编译步骤下载解压找到需要的版本https://github.com/ArtifexSoftware/ghostpdl-downloads/releases下载源代码mkdir ~/gsgzip -d ghosts原创 2021-04-28 14:45:43 · 600 阅读 · 0 评论 -
PYTHON3.7.6交叉编译&本地编译
1.准备号依赖库 如zlib readline openssl ncurses等等2.修改setup.py文件 搜索lib_dirs和inc_dirs添加依赖路径lib_dirs.append('xxxxx/lib')inc_dirs.append('xxxx/include')#!/bin/bashset -eROOT_DIR=/home/xxx/test/ins_py3BASE_BATH=/home/xxx/test/usrexport CC=arm-fsl...原创 2021-04-25 17:55:32 · 533 阅读 · 0 评论 -
meson 工具使用 glib-2.68.1交叉编译
需要python meson ninja,安装方法百度即可meson手册https://mesonbuild.com/Manual.html防止忘记,仅仅记录如下#!/bin/bashset -eDEVEL=/home/username/build_root/develif [ -d _build ];thenrm -r _buildfimkdir _buildarch='arm-linux-gnueabi-'sys_root='/home/username/bui..原创 2021-04-12 17:46:24 · 3313 阅读 · 1 评论 -
c readline 实现
做一个无情的造轮子者int readline(char *buf,int offset,char *line,int line_len){ int i=0; int len=0; if(buf==NULL || line== NULL) return -1; len = strlen(buf); if(offset>len) return -1; char *t=buf+offset; fo.原创 2021-01-28 16:13:31 · 1099 阅读 · 0 评论 -
C语言字符串分割 trimmed simplified split
#define IS_SPACE_CHAR(ch) (ch==' ' || ch =='\t' || ch == '\n' || ch == '\v' || ch == '\f' || ch == '\r') ? 1:0//返回移除头尾空白符的字符串 需要free释放char *trimmed(char *source){ int i=0,j=0;; char *dest; int len = strlen(source); for(i=0;i<len;...原创 2021-01-28 15:49:33 · 342 阅读 · 0 评论 -
循环fifo实现
没有实现长拷贝,写这个的目的是为了实现TCP数据流中提取帧r_fifo.c#include "r_fifo.h"r_fifo *new_rfifo(int sizeof_e,int max_num){ uint8_t *buf = NULL; r_fifo *r = NULL; if(sizeof_e == 0 || max_num == 0) return NULL; r=malloc(sizeof(r_fifo)); buf.原创 2021-01-15 19:00:03 · 296 阅读 · 0 评论 -
网络字节序和主机字节序ntohs htons 实现
#define BigLittleSwap16(A) ((((unsigned short int)(A) & 0xff00) >> 8) | (((unsigned short int)(A) & 0x00ff) << 8)) #define BigLittleSwap32(A) ((((unsigned int)(A) & 0xff000000) >> 24) | (((unsigned int)(A) & ...原创 2021-01-08 14:27:36 · 302 阅读 · 0 评论 -
socks5代理基于epoll实现
socks5基于epoll实现单线程事件循环server.c#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <string.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <sys/types.h>#in原创 2020-11-25 12:25:42 · 459 阅读 · 0 评论 -
Opencv——动态二值化阈值
算了不写太多解释了,毕竟免费的文章,我这代码看得懂的人自然也写得出来。/** * @brief ImageProcess::peakValley * @param img * @param n * @param p peak * @param v valley * @return */int ImageProcess::peakValley(Mat img,int n,in...原创 2020-04-14 10:39:38 · 1795 阅读 · 0 评论 -
C语言指针作为函数参数
别太纠结什么形参实参,C语言,90%是内存的游戏例:#include "stdio.h"int *f(int *s,int *t){ if(*s<*t) { s = t; } return s;}int main(){ int i=3,j=5,*p=&i,*q=&j,*r; r = (p,q); printf("%d,%d,%d,%d...原创 2019-09-21 11:39:04 · 361 阅读 · 0 评论