自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DynastyDoubleH的博客

I know what I want.

  • 博客(46)
  • 收藏
  • 关注

原创 使用mingw64生成MinGW Makefiles时一直失败

安装时把mingw32-make.exe改成了make.exe,这时在mingw下找不到可以生成的MinGW Makefile的mingw32-make.exe。将mingw32-make.exe copy一份,重命名为make.exe,使得mingw/bin下有这两个文件即可。

2023-04-11 17:18:24 422

原创 linux kill一个指定进程脚本

代码】linuxkill一个指定进程脚本。

2022-07-19 11:35:55 1527

原创 使用os定时器实现实现异步通知(RTOS)

os timer

2022-06-23 17:24:45 631

原创 CMake生成库和intall文件

文件目录构成:.├── CMakeLists.txt├── lib_config│ └── helloConfig.cmake.in├── test_hello.c└── test_hello.h1 directory, 4 filesCmakeLists.txt文件内容:cmake_minimum_required(VERSION 3.5)project(test_hello C)#设置install目录set(CMAKE_INSTALL_PREFIX /home/u

2022-02-21 13:21:07 1641

原创 vmware使用samba访问远程目录方法

1.点击File -> other Localtions2.在Enter server address输入:smb://192.168.x.x/path/3.connnect4.输入账号密码

2022-02-17 17:35:40 495

原创 CMake添加不同目录文件的方法

三种使用CMake构建工程添加子目录的方法文件目录结构.├── CMakeLists.txt├── inc│ ├── ansi_def.h│ ├── ansi.h│ ├── ansi_port.h│ ├── nr_micro_shell_config.h│ └── nr_micro_shell.h├── main.c├── nr_micro_shell_commands.c└── src ├── ansi.c ├── ansi_port.c

2022-02-16 16:09:25 9454 3

原创 使用nuvoton976DK61Y BSP运行自己的demon

开发环境 1. Linux platform: ubuntu-18.04.3-desktop-amd64 官网连接:(https://www.nuvoton.com.cn/products/microprocessors/arm9-mpus/nuc970-industrial-control-series/nuc977dk61y/?group=Software&tab=2) 2. GCC 4.8.4 crLinuxs compiler with EABI suppor 3. VMwa

2021-11-24 13:37:13 1241

原创 2021-09-08

标题&buf[i][j],buf[i][j];buf[i]+j,(buf[i]+j);(buf+i)+j,((buf+i)+j);buf[0]+i5+j,((buf+i))[j];&buf[0][0]+i5+j,(&buf[0][0]+i*5+j)的区别int buf[4][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20}};int i,j;1.&buf[i][j],buf[i][j] p

2021-09-08 16:22:36 72

原创 linux FTP服务器搭建,并创建用户

1.安装ftp service:sudo apt-get install vsftpd2.重启linux ftp servicesudo service vsftpd restart3.安装成功,可以看到21端口为listen状态root@henry:/home/henry# netstat -an | grep 21tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN ud

2020-09-14 17:07:31 905

原创 基于Ubuntu16.04使用NFS服务挂载远程目录

默认使用IP: 电脑:192.168.1.192 Ubuntu主机:192.168.1.191 开发板:192.168.1.190 子网掩码:255.255.255.0特别注意这里:开发板与Ubuntu ping通的前提是使用桥接并且是静态static方式,采用动态dhcp方式无法ping通。确认三者能互ping,即同一网段。 打开Ubu...

2019-06-05 16:07:30 1665

原创 Sqlite3数据库常用API说明

sqlite3的学习笔记: Sqilte是目前最流行的嵌入式数据库,其特点为占用资源少,管理简单,操作简单,生成的数据库文件很容易与各个平台兼容。 注意: 1、因为Sqlite的数据管理机制更多依赖于OA文件系统,他不适用于网络传输的传输方式。 2、受自身机制影响,Sqlite不适用于处理大数据与大数据存储。 2、Sqlit...

2019-05-22 11:13:19 2848

原创 Git使用的常用命令

1、git branch //查看分支 2、git branch <name> //创建分支 3、git checkout <name> //切换分支: 4、git merge <name> //合并分支:要在主线分支master 下合并 5、git branch -d <name> //删除分支 6、...

2019-05-16 17:39:53 145

转载 虚拟机ubuntu16.04的备份与恢复方法

本文目的在于记录在命令行的模式下进行linux系统的备份与还原,虽然系统的备份方法有很多种,但本文只记录最简单粗暴的一种:首先成为root用户:$ sudo su然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):# cd /下面是我用来备份系统的完整命令:# tar cvpzf backup.tgz --...

2019-05-06 16:21:40 2424 2

原创 修改ubuntu16.04虚拟机terminal背景的方法,可自定义图片

Ubuntu虚拟机更改使用xfce4-terminal实现更改terminal的背景,可以自定义图片更改。 具体做法: sudo apt-get install xfce4-terminal 1、安装xfce4-terminal 2、 在Serch your computer输入xfce4,找到xfce4 terminal,打开...

2019-03-22 16:06:37 2189

原创 ubuntu16.04修改复制粘贴快捷键的方法

Ubuntu虚拟机在terminal使用CTRL + C ,CTRL + V,复制,粘贴的办法: 选择:Terminal -> Preference -> Shortcut 把你要修改的复制、粘贴快捷键设置好,退出即可。...

2019-03-22 15:45:06 7796

原创 ubuntu16.04搭建Samba服务器,通过映射网络驱动器,建立Linux的共享文件夹。

ubuntu16.04搭建Samba服务器,通过映射网络驱动器,建立Linux的共享文件夹。 1、在Linux下安装Samba(前提ubuntu虚拟机能上网),执行: sudo apt-get install samba sudo apt-get install smbclient执行:smbstatus 看到打印版本信息说明安装成功。2、执行:vi su...

2019-03-22 15:34:25 1568

原创 sqlite3数据库常用的操作,基于ububtu16.04

 记录sqlite3数据库常用函数接口的使用,.数据库的操作不区分大小:int sqlite3_open(const char*, sqlite3**);  //打开一个数据库int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void*, char**);可以执行任何SQL语句,比如创表、更新、插入和删除操作。但是一般...

2019-01-02 16:27:46 226

原创 数组没有"\n"结束输出问题、malloc在数组的应用、数组总结

一维数组:1、初始化:char buf[5] = "hello";    和 char buf1[] = "world";编译器自动计算数组大小。    区别:前者buf[5] = "hello"该方式不是字符串, 而是字符数组, 因为没有\0;char buf1[] = "world"是以\0在后面作为结束。2、字符串的赋值:    给 char* 类型的字符串赋值,可以直接使用 "="...

2018-12-19 13:36:13 782

原创 const的作用:

 const的作用:    修饰不让改变的变量,起到保护数据的作用,作为输入型参数。1、没有指针引入时:    int const i;与const int i的作用一样,代表i为int型并且不能被改变的变量,那就是本质为常量了。2、与指针一起作用,修饰指针变量,const在不同位置,代表的实际意义不一样:    const int *p        int *const ...

2018-12-12 16:40:09 225

原创 tftp的烧录命令及使用步骤

材料:tftpd(2).exe服务软件tftpd(2).exe的使用及配置:1、运行2、选择Tftpd的configure,将要传输的文件的目录选择好即可,其他不用修改3、选择Tftpd,点击Start开始4、在服务主机(开发板telnet调试模式)中运行tftp -gr name source IPIP为要传输文件所在主机的IP,一般为电脑IP5、chmo...

2018-12-03 15:42:22 2194

原创 多维数组的初始化。大括号{}与小括号()的区别

#include &lt;stdio.h&gt;int main(void){ int a[3][2]={{0,1},{2,3},{4,5}}; int b[3][2]={(0,1),(2,3),(4,5)}; int *p; int *p1; p=a[0]; p1=b[0]; printf("%d\n",p[0]); printf("%d\n",p1[0]...

2018-11-28 10:21:55 5489

原创 (*fun_hangld[buf[0]])(); 通过指针数组函数来调用放在数组里面的函数

定义数组函数集合:void (*fun_hangld[])()={    //函数的存放集合    Fun1,    Fun2,    Fun3,    Fun4}; 通过while(1){(*fun_hangld[buf[0]])();}一直读取buf[0]的值,来确定是进行那个函数。这种思想在进行模块化时很好用,比如按键来控制屏幕之间的对应关系,一个按键值,代表不同界面的显...

2018-11-14 14:52:50 225

原创 error: initializer element is not constant错误的原因

#include&lt;stdio.h&gt;int a=1 ,b=3;int c=a+b;int main(void){    printf("a=%d\n",a);    printf("b=%d\n",b);    printf("c=%d\n",c);    return 0;}编译结果:原因是:全局变量通过其他变量或者别的函数返回值赋值时,不能单独在函数外进...

2018-11-12 16:22:53 1515

原创 管道通讯

//pthread线程等待数据输入并通过管道发送将数据发送出去,另一线程thread1则时刻等待发送过来的数据,并对数据进行解析。#include&lt;stdio.h&gt;#include&lt;unistd.h&gt;#include&lt;pthread.h&gt;#include&lt;stdlib.h&gt;#include &lt;string.h&gt;#incl...

2018-11-12 16:02:35 310

原创 pthread_detach()函数、pthread_join()函数的区别、线程与这两个函数的联系

#include&lt;stdio.h&gt;#include&lt;pthread.h&gt;#include&lt;unistd.h&gt;void create_pthread(void);void pthread1(void);void pthread2(void);pthread_t thread;pthread_t thread1;void create_pthr...

2018-11-09 09:36:14 392

原创 基于UDP协议相互通信实例

udp_server.c#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <string.h>#include <errno.h>#include <netinet...

2018-11-07 16:19:33 1886

原创 linux在解压出现错误

一般我们在linux建立共享文件夹解压时,因为会有软连接问题,可能会在tar -xvf的时候出现错误无法完全解压,并且解压速度很慢。解决办法:将文件cp复制到linux原生目录底下进行解压即可,并且在这里解压速度很快。可以看出linux与windows建立共享文件夹还是有一定的缺陷。...

2018-11-05 11:11:29 2645

原创 UDP简单实例

服务端:server.c#include &lt;stdio.h&gt;#include &lt;sys/types.h&gt;#include &lt;sys/socket.h&gt;#include &lt;netinet/in.h&gt;#include &lt;string.h&gt;#include &lt;errno.h&gt;#include &lt;netinet...

2018-11-05 10:32:20 392

原创 Linux的select函数实例

/*函数说明:正常每隔一秒打印一个数字,当有fd被设置时,就马上执行操作。而不是被阻塞住*/#include &lt;sys/time.h&gt;#include &lt;sys/types.h&gt;#include &lt;unistd.h&gt;#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;err...

2018-10-11 15:34:43 289

原创 使用NONBLOCK将鼠标键盘设置为非阻塞式,并同时读取内容

/*同时读取输入设备键盘鼠标的状态,验证非阻塞式。read默认是阻塞式,如果在read之前没有输入,就不会继续执行程序,知道有输入时,才继续执行后面的程序。这里的NONBLOCK就是设置设备文件的非阻塞式*/#include&lt;stdio.h&gt;#include&lt;unistd.h&gt;#include&lt;string.h&gt;#include&lt;fc...

2018-10-09 11:07:58 550

转载 在/mnt/看不到共享文件夹的解决

看了很多文章,觉得这篇说得很有用,解决了我的问题https://blog.csdn.net/huyangzhilin/article/details/70666937忙了好几天的功夫,借鉴了N多大神的经验,一路上问题不断,直到今天总算是把这个问题解决了。对于还是菜鸟的我来说感慨良多,觉得很有必要把我的心路历程记录下来,算是对于这个问题做一个总结吧。此解决方案仅供参考,不具代表性!此解...

2018-09-27 09:32:33 8189 3

原创 socket的服务端和客户端的建立

服务端:my_sverce.c步骤:1、创建一个套接字socket():包括初始化struct socketaddr_in结构体的填充           2、绑定bind()服务端的地址           3、监听listen()            4、accept()确认#include&lt;stdio.h&gt;#include &lt;sys/types....

2018-09-25 09:16:58 914

原创 Linux时间函数time()、ctime()、ctime_r()、localtime()、localtime_r()、asctime()、strftime()的转换关系

上面这个图就是它们所有函数的关系转换,比较清晰,不需要太多文字描述。下面是它们的代码实现过程:#include&lt;stdio.h&gt;#include&lt;unistd.h&gt;#include&lt;time.h&gt;#include&lt;error.h&gt;#include &lt;stdlib.h&gt;int main(void){ t...

2018-09-20 14:14:30 9056

原创 C语言链表:遍历,头插,尾插,中间插入;头节点删除,尾节点删除,中间删除的操作

/********************************************************************************************************************************************************************内容:指针的创建步骤与遍历   创建的步骤:1、定义链表结构体(...

2018-09-19 11:04:26 2006

原创 使用readdir函数读取一个文件夹的子文件,打印并统计个数

readdir一般与opendir结合使用。readdir包含的头文件:  #include &lt;dirent.h&gt;readdir函数的原型: struct dirent *readdir(DIR *dirp);函数的作用是:返回一个指向dirp所指向的目录流下一个目录条目的dirent结构的指针。它返回当到达目录流的末尾或发生错误时为NULL。在Linux上,diren...

2018-09-10 10:26:27 1361

原创 验证return 0;return 1;return -1;return;的作用

验证return 0;return 1;return -1;return;的作用#include&lt;stdio.h&gt;int back(int *x,int *y);int x=1,y=12;int main(void){ back(&amp;x,&amp;y); return 0; }int back(int *x,int *y){ int...

2018-08-20 16:11:02 1207

原创 验证return -1执行了以后,是否继续执行了接下来的程序

#include&lt;stdio.h&gt;int FUNC(void);void func1(void);void func2(void);void func3(void);int i=0;int main(void){ FUNC(); return 0;}int FUNC(void){ func1(); if(1) return -1; fun...

2018-08-09 15:44:34 1216

原创 extern的作用

1.extern是C语言的一个关键字,它通常的作用是用来修饰全局变量或者函数。被修饰的变量和函数在别的地方已经声明定义过,在另一个文件.c文件引用可以它的对应.h头文件引入,就用extern来实现。 例如: 函数void ui_action(UI_MSG_ACTION act, int arg);在ui.h中已经声明并在ui.c文件下调用,我们要在另一个eye.c使用void ui_actio...

2018-08-02 16:48:40 4523

原创 gettimeofday函数的简单使用及功能说明

gettimeofday函数的功能是引用系统定义的结构体struct timeval,来计算当前程序或者进程,也就是占有CPU的时间是多少,它可以精确到微秒级别。它是通过前后两次调用的时间差来确定所消耗的时间。struct timeval的原型在#include&lt;sys/time.h&gt;头文件中定义struct timeval {               time_t   ...

2018-08-02 10:43:44 3671

原创 通过switch case语句实现简单的计算器功能,说明它的使用方法

功能说明:1.通过三个文件case.c,main.c,case.h来实现,case.c是计算功能的函数,main.c是调用函数,case.h用来存放头文件声明。2.实现两个数的+-*/运算,进一步验证switch case语句使用3.指针传参与一般传参的不同 case.h文件#ifndef __CASE_H__#define __CASE_H__int func1_...

2018-07-27 09:42:41 5251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除