
编程
文章平均质量分 61
iw1210
这个作者很懒,什么都没留下…
展开
-
用 IntelliJ IDEA 从零搭建一个最简单的 Vue 项目
用 IntelliJ IDEA 从零搭建一个最简单的 Vue 项目一、安装 Node.js注:如果已经安装过 Node.js 当然就不需要安装啦。下载地址:https://nodejs.org/en/download/。下载完成后安装。打开命令窗口执行下面两条命令查看是否安装成功:E:\> node -vv10.15.3E:\> npm -v6.4.1二、搭...原创 2019-05-09 18:05:24 · 10607 阅读 · 0 评论 -
用C语言读取配置文件
用C语言读取配置文件/*** readcfg.c ***/#include #include #include #include #include #define KEYVALLEN 100/* 删除左边的空格 */static char * l_trim(char * szOutput, const char *szInput){ assert(szInput原创 2016-12-05 16:31:54 · 1923 阅读 · 0 评论 -
Linux下用管道执行base64命令加密解密字符串
Linux下用管道执行base64命令加密解密字符串直接上实例代码,用base64加密解密字符串。test.c 文件:#include #include #include #define MAXL_BASE64CODE 1024int base64_encode(const char* str, char* out){ int n=0; FILE* fp=原创 2016-12-29 16:42:25 · 3018 阅读 · 0 评论 -
Linux下获取程序绝对路径(全路径)的方法
Linux下获取程序绝对路径(全路径)的方法直接上源代码:/*** NAME: getAbsopath* DESC: 获取程序的绝对路径* REMK: Absopath - Absolute path*/char* getAbsopath(){ static char buf[PATH_MAX]; int i; int len = readlink("/p原创 2017-01-04 16:21:32 · 8268 阅读 · 0 评论 -
Linux下用 select 函数实现定时器(也可用作线程内延时)
Linux下用 select 函数实现定时器,也可用作线程内延时。 直接上源代码: #include #include int main() { struct timeval tv; while(1) { tv.tv_sec = 1; tv.tv_usec = 0; switch(select(0, NULL, NU原创 2015-06-18 15:53:33 · 6939 阅读 · 1 评论 -
MySQL数据库用 FOR UPDATE 锁定表行
MySQL数据库用 FOR UPDATE 锁定表行FOR UPDATE 仅适用于 InnoDB,且必须在事务区块(BEGIN/COMMIT)中才能生效。使用及验证步骤:1. 使用begin开始一个事务。2. 利用 select * for update 锁定行。3. 在新窗口中验证非选中行是否被锁定----未被锁定。4. 在新窗口中验证选中行是否被锁定-----锁定原创 2016-12-08 14:30:15 · 859 阅读 · 0 评论 -
Linux编译程序时缺少连接库的解决办法
Linux编译程序时缺少连接库的解决办法Linux编译程序时如果缺少连接库会提示如下错误:$ gcc test.c -o test -lxxx/usr/bin/ld: cannot find -lxxxcollect2: error: ld returned 1 exit status先介绍下GCC命令的 -L 和 -l 参数。-l参数就是用来指定程序要链接的库原创 2016-12-08 11:38:01 · 4240 阅读 · 0 评论 -
Linux编译程序时找不到头文件的解决办法
Linux编译程序时找不到头文件的解决办法$ gcc test.c -o testtest.c:9:16: fatal error: xxx.h: No such file or directory #include下面叙述以Ubuntu系统为例。先查找 xxx.h 所在路径:$ sudo find / -name xxx.h/usr/local/include原创 2016-12-08 10:58:38 · 64189 阅读 · 3 评论 -
Makefile 教程
Makefile 教程一、先来个入门实例两个源文件 helloworld.c 和 test.c :$ lshelloworld.c test.c源代码:helloworld.c#includevoid printHelloWorld(){ printf("Hello World.\n"); return;}test.c#includee原创 2016-12-05 18:40:27 · 586 阅读 · 0 评论 -
值得推荐的C/C++开源框架和库
值得推荐的C/C++开源框架和库 转自:http://www.cnblogs.com/lidabo/p/5514155.html- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言转载 2016-08-02 14:15:11 · 3240 阅读 · 2 评论 -
用VIM浏览源代码之跳转到函数/数据类型/变量的定义处
用VIM浏览源代码之跳转到函数/数据类型/变量的定义处1. 先查看是否安装了ctags用which命令检查:# which ctags/usr/bin/which: no ctags in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin) // 说明没安装ctags。用r原创 2016-08-01 00:34:30 · 8344 阅读 · 0 评论 -
在Linux上安装VLC播放器
在Linux上安装vlc播放器一、在 CentOS 6.5 (64位)上安装......二、在 CentOS 7 (64位)上安装......原创 2016-07-30 16:51:47 · 16258 阅读 · 0 评论 -
Linux程序运行时找不到动态链接库的原因
Linux下运行程序时找不到所需动态链接库的原因如果没在环境变量 LD_LIBRARY_PATH 上加上程序所需动态链接库的所在目录,那么运行这个程序时就会出现错误。如下在执行 InitMySQLv1 程序时出现的错误: #./InitMySQLv1 ./InitMySQLv1: error while loading shared libraries: libmysqlc原创 2016-07-10 21:47:20 · 6202 阅读 · 0 评论 -
并行处理:分叉(fork)和线程(thread)
并行处理:分叉(fork)和线程(thread) 分叉(fork)是UNIX术语,当分叉一个进程(一个运行的程序)时,基本上是复制了它,并且分叉后的两个进程都从当前的执行点继续运行,并且每个进程都有自己的内存副本(比如变量)。一个进程(原来的那个)成为父进程,另一个(复制的)成为子进程。如果你是一个科幻小说迷,可以把它们想象成并行的宇宙(parallel un原创 2016-05-10 17:06:06 · 6328 阅读 · 0 评论 -
在嵌入式Linux和PC机Linux下使用popen函数时,程序运行结果有差异。
下面程序演示了在嵌入式Linux和PC机Linux下使用popen函数时,程序的运行结果是有差异的。两个程序 atest.c 和 btest.c,atest 检查是否有 btest 进程运行,如果没有就执行 btest 然后退出,如果有就直接退出。atest在检查时输出 btest 进程数,PC机是buf 值,嵌入式是buf值减1。atest.c 源代码:#include #原创 2015-08-19 12:00:26 · 1103 阅读 · 0 评论 -
C++ 的 new 和 delete : new operator, operator new, placement new, delete operator, operator delete
C++ 的 new 和 delete :new operator, operator new, placement new, delete operator, operator delete1. new operatornew operator 完成了两件事情:用于申请内存和初始化对象。例如:string* ps = new string("abc");2.operator n原创 2015-05-23 17:15:18 · 513 阅读 · 0 评论 -
[Windows] 通过任务管理器查看程序是否有内存泄漏
在 Windows 系统下运行程序的Debug版,可以通过任务管理器看出程序是否有内存泄漏。演示程序的代码:#include #include // #include #define _CRTDBG_MAP_ALLOC#include #ifdef _DEBUG#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)原创 2015-05-22 11:04:05 · 9389 阅读 · 0 评论 -
MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法
MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法。# mysql -u root -h 192.168.194.142 -pEnter password: ERROR 1045 (28000): Access denied for user 'root'原创 2017-01-21 15:29:56 · 182086 阅读 · 6 评论 -
Linux执行程序时缺少连接库的解决办法
Linux执行程序时缺少动态连接库的解决办法Linux执行程序时如果缺少动态连接库会提示如下错误:xxx.so cannot open shared object file: No such file or directory总结下来主要有下面三种解决方法,以Ubuntu系统为例。第1种方法:用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边$原创 2016-12-08 10:22:44 · 2322 阅读 · 0 评论 -
Java通过FFMPEG获取视频时长
Java通过FFMPEG获取视频时长FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。由此看来FFmpeg很强大,很多主流的音频、视频处理原创 2017-03-30 22:55:07 · 8554 阅读 · 1 评论 -
Linux 下用 curl 命令访问 Elasticsearch(RESTful风格)
Linux 下用 curl 命令访问 Elasticsearch(RESTful风格)这里介绍用 PUT 方法和 GET 方法访问 Elasticsearch。1. 用PUT方法写数据示例说明:megacorp 是索引的名字,employee 是类型的名字,1和2是员工的ID。用 PUT 方法,下面两种形式都可以。第一种,把地址放在后面:# curl -H 'Content-T...原创 2019-04-28 18:10:59 · 2929 阅读 · 0 评论 -
用 Java 操作管理 Openfire(比如管理用户,包括创建、删除用户等)
用 Java 操作管理 Openfire(比如管理用户,包括创建、删除用户等)1. 为 Openfire 安装 REST API 插件安装后在管理平台的插件列表里可以看到 REST API 插件:2. 配置 REST API 插件打开 REST API 插件属性页面,配置插件:注意,如果打不开插件的属性页面,可能是插件版本与 Openfire 的版本不适配的缘故,到 Openfire...原创 2019-04-01 15:43:33 · 2546 阅读 · 1 评论 -
人工智能(AI)的模式识别、机器学习和深度学习
人工智能(AI)的模式识别、机器学习和深度学习模式识别(pattern recognition)、机器学习(machine learning)和深度学习(deep learning)代表三种不同的思想流派。模式识别是最古老的(作为一个术语而言,可以说是很过时的)。机器学习是最基础的(当下初创公司和研究实验室的热点领域之一)。而深度学习是非常崭新和有影响力的前沿领域,我们甚至不会去思考后深度学...原创 2018-12-18 17:53:59 · 6119 阅读 · 1 评论 -
用 Eclipse 开发 WebService 项目
用 Eclipse 开发 WebService 项目一、创建 Service1. 在 Eclipse 下新建一个动态Web项目 2. 在项目中新建一个 “SayHello” 类 3. 编写 SayHello 类的代码package org.sunny.service;//包不要引用错了import javax.jws.WebService;import ja...原创 2018-12-11 14:01:33 · 4209 阅读 · 1 评论 -
MySQL数据库中编写创建权限(业务权限,非数据库权限)的存储过程
MySQL数据库中编写创建权限(业务权限,非数据库权限)的存储过程注:是业务权限而非数据库权限,代码中的数据库表都是创建的业务表。创建后台权限的存储过程:DROP PROCEDURE bgCreateAuth;DELIMITER $CREATE PROCEDURE bgCreateAuth(IN objkeya VARCHAR(100), IN actkeya VARCHAR(...原创 2018-10-09 18:43:29 · 479 阅读 · 0 评论 -
查询用户权限的SQL语句
查询用户权限的SQL语句 下面以用户ID为1的用户为例,讲解查询用户权限的SQL语句写法。1. 从用户的角色表中查询用户权限(去掉重复记录)select distinct(e.AUTHKEY)from USER aleft join USER_ROLE b on a.USERID=b.USERIDleft join ROLE c on b.ROLEID=c.ROLEID...原创 2018-09-13 15:35:16 · 19034 阅读 · 0 评论 -
MyBatis中批量插入数据库与批量更新数据库的XML代码写法
MyBatis中批量插入数据库与批量更新数据库的XML代码写法下面以MySQL为例讲解。一、批量插入(insert)DAO层接口定义:int insertBatch(@Param("arrtest")TestEntity[] arrTest);XML文件配置:<insert id="insertBatch"> insert into TEST (STATE, TESTID, TYP...原创 2018-03-28 19:42:09 · 12914 阅读 · 0 评论 -
前端用AJAX把数组传给后端控制器数组参数的方法
前端用AJAX把数组传给后端控制器数组参数的方法分两种情况:1. 数组元素是基本类型数据的数组。2. 数组元素是普通类对象的数组。下面分别讲解。一、数组元素是基本类型数据的数组这种情况比较简单,下面是示例代码。控制器代码:@Controller@RequestMapping(value = "testctrl") @ResponseBody @RequestMapping(value = "...原创 2018-03-27 19:28:28 · 3655 阅读 · 1 评论 -
在线工具列表
------- 在线工具列表 -------1. JS在线统计图表制作工具http://charts.udpwork.comhttps://www.tubiaoxiu.com2. Photoshop在线精简版http://www.uupoop.com原创 2018-03-30 10:42:45 · 1590 阅读 · 0 评论 -
在代码层面上解决由于Java用有符号数值类型映射MySQL无符号数值类型而导致的数值溢出问题
在代码层面上解决由于Java用有符号数值类型映射MySQL无符号数值类型而导致的数值溢出问题。如果MySQL数据库中定义一个无符号的数值类型字段,这样在Java中如果用工具生成实体类时,会自动使用一个比特位数相同的有符号数值类型属性映射了这个字段,所以数值范围减半,偏离了设计逻辑。比如给User表定义一个年龄字段age,类型是无符号的TINYINT(定义有符号的不合逻辑),在Java中原创 2018-01-25 14:27:04 · 843 阅读 · 1 评论 -
Linux系统测试端口连通性的方法
Linux系统测试端口连通性的方法有四种常用方法:1. telnet 方法2. wget 方法3. ssh 方法4. curl 方法下面一一介绍。1. telnet用法: telnet ip port(1)连接不存在的端口 telnet 1.1.1.1 8 Trying 1.1.1.1... telnet: connect原创 2017-12-19 21:03:30 · 3906 阅读 · 0 评论 -
SpringMVC用InitBinder注解实现表单多对象精准绑定接收
SpringMVC用InitBinder注解实现表单多对象精准绑定接收。要在一张表单中提交多个对象,并且还要在后台Controller中精准的绑定接收,可是,这些对象中可能有相同的参数名,如何做到精准绑定?后台接收入参时无法像Struts那样JSP表单中使用Object.Param形式对表单进行精准绑定入参,我们都知道Struts2默认就是这种方案,这是因为struts2采用了OGNL,并原创 2017-10-25 19:41:50 · 622 阅读 · 0 评论 -
Intellij IDEA 快捷键
Intellij IDEA 快捷键【Alt】+【->】或【【Ctrl】+【Alt】+【->】或【【Alt】+【F7】:查找整个工程中某一个类、方法或者变量的所有使用位置。【Ctrl】+【E】:列出最近打开的文件。原创 2017-10-25 17:02:18 · 259 阅读 · 0 评论 -
用 JSONP 实现跨域请求
用 JSONP 实现跨域请求参考:1. 轻松搞定JSONP跨域请求http://blog.youkuaiyun.com/u014607184/article/details/520278792. jsonp与JAVA的配合使用http://www.cnblogs.com/dream0530/p/6179819.html3. Jsonp和java操作例子htt原创 2017-09-26 20:06:09 · 408 阅读 · 0 评论 -
Java解析嵌套的JSON字符串
Java解析嵌套的JSON字符串直接代码举例说明,需要json.jar包。Maven依赖: org.json json 20140107 示例代码:String jsonstr = "{\"sign\":\"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE\"," + "原创 2017-06-30 16:41:36 · 2310 阅读 · 0 评论 -
FFMPEG 的常用功能
用 FFMPEG 截取视频的第一帧保存为JPG图片支持多种视频格式文件,两个例子:> ffmpeg -i http://videoclass.oss-cn-hangzhou.aliyuncs.com/class/lesson001.mp4 -y -f image2 -ss 00:00:01 -vframes 1 firstFrame.jpg> ffmpeg -i http:/原创 2017-03-31 22:32:41 · 1349 阅读 · 0 评论 -
Linux下用C语言检查指定程序名的运行实例个数
Linux下用C语言检查指定程序名的运行实例个数。直接上源代码:#include#include// // 名称:detect_process// 描述:检查指定程序名的运行实例个数。// 参数:指定程序名称。// 返回:大于等于0 - 实例个数,-1 - 出现错误。int detect_process(const char * process_name原创 2015-06-18 15:57:43 · 1736 阅读 · 0 评论 -
VS2008检测内存泄漏的方法
在VS2008中需要增加几句代码来检测程序中的内存泄露,代码如下:原创 2014-06-05 15:46:08 · 4007 阅读 · 2 评论 -
ACE里创建一个任务就创建了一个线程
在ACE里,创建一个任务就创建了一个线程。原创 2014-06-12 14:39:44 · 829 阅读 · 0 评论 -
ACE中的TCP通讯
ACE中的TCP通讯,不罗嗦,直接上代码。原创 2014-07-01 20:00:53 · 1975 阅读 · 1 评论