- 博客(228)
- 资源 (14)
- 收藏
- 关注
转载 /bin/sh^M: bad interpreter: No such file or directory 问题解决
转载于https://www.cnblogs.com/zyb-pp/p/6429448.html今天写了一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试:Shell代码 收藏代码#!/bin/shecho "test shell "具体报错信息如下:Shell代码 收藏代码[root@localhost test]# ./test.sh-bash: ./tes...
2019-09-18 09:34:58
997
转载 C++构造函数的default和delete
C++11中,当类中含有不能默认初始化的成员变量时,可以禁止默认构造函数的生成,myClass()=delete;//表示删除默认构造函数myClass()=default;//表示默认存在构造函数当类中含有不能默认拷贝成员变量时,可以禁止默认构造函数的生成,myClass(const myClass&)=delete;//表示删除默认拷贝构造函数,即不能进行默认拷贝myClas...
2019-09-05 11:15:38
1107
转载 C++ 11 using和typedef区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-05 11:05:02
1185
1
转载 三次握手 四次握手 与socket函数的关系
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:作者:吴秦出处:http://www.cnblogs.com...
2019-08-20 14:54:36
517
转载 栈空间和堆空间大小
一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于数据结构的链表。3、全局区(static):也叫...
2019-08-20 14:37:47
10918
1
原创 如何在opentcs 上做二次开发
opentcs 是一个非常优秀的交通控制软件,他是一个完全开源的软件,可以在官网上下载官网为:https://www.opentcs.org/en/index.htmlopentcs 主要包含三个部分:调度中心(kernel)、控制中心(controlCenter)、设计工具(plantOverview)调度中心是服务端,其他两个软件是客户端。那么如何在该项目中做二次开发呢?首...
2019-05-09 18:23:04
8410
原创 opentcs 如何汉化
opentcs 是一个很好用的agv控制系统。那么如何给opentcs做汉化呢?opentcs 有3个软件,这里只介绍如何汉化设计工具。打开opentcs功能后openTCS-PlantOverview 这个项目就是设计工具软件的项目。他的资源在我们只需要在这里添加labels_zh.properties ,并且在该文件中汉化即可。第一步:创建labels_zh.pro...
2019-05-09 18:10:01
1679
原创 如何在qt中使用irrlicht
需要导入lib库和头文件 创建类Q3DDrawThread 专门来处理所有与irrlicht相关的事件Q3DDrawThread 是继承于QThread,在Q3DDrawThread 的函数run()中,实现如下代码: void Q3DDrawThread::run(){//初始化irrlicht引擎if (!initIrr()){LOG(ERROR) <&l...
2018-10-24 11:31:22
513
原创 Irrlicht 中如何自定义场景节点和网格数据
自定义场景节点需要继承ISceneNode,注意ISceneNode有几个函数必须覆盖自定义网格数据需要继承 IMeshNode,IMeshNode继承与ISceneNode class CSampleSceneNode : public scene::ISceneNode{core::aabbox3d<f32> Box; //顶点数据video::S...
2018-10-24 10:52:21
400
原创 irrlicht (鬼火)来实现cloud compare中的三维旋转功能
最近在项目中要做三维旋转,通过鼠标来实现地图的三维旋转。项目中使用的3d引擎是irrlicht,3d 旋转功能是完全模仿cloud compare做的。在<<计算机图形学>>中的第五章的 <<几何变换>>中详细讲解了二维和三维的各种变换(平移、旋转、缩放等),以下代码是通过鼠标来实现地图的三维旋转的核心代码:如果有不懂的地方,请联系我...
2018-10-24 10:23:37
1200
转载 ldconfig与 /etc/ld.so.conf
现在我们知道了动态与静态函数库,也知道了当前的Linux大多是将函数库做成动态函数库,下面来讨论增加函数库读取性能的方法。我们知道,内存的访问速度是硬盘的好几倍,所以,如果将常用的动态函数库加载到内存中(高速缓存,cache),当软件套件要采用动态函数库时,就不需要重新从硬盘里读出,这样就可以提高动态函数库的读取速度。这个时候需要ldconfig与 /etc/ld.so.conf的帮助。将动态
2017-03-14 19:20:20
489
转载 《Linux多线程服务端编程》笔记——线程同步精要
并发编程基本模型message passing和shared memory。线程同步的四项原则尽量最低限度地共享对象,减少需要同步的场合。如果确实需要,优先考虑共享 immutable 对象。使用高级的并发编程构件,如TaskQueue、Producer-Consumer Queue、CountDownLatch等等。不得已必须使用底层同步原语(primitives)时,只用非递归
2017-03-05 22:20:49
593
转载 gettid和pthread_self区别
1 线程ID获取方法linux下获取线程有两种方法:1)gettid或者类似gettid的方法 2)直接调用pthread_self()gettid 获取的是内核中线程ID,而pthread_self 是posix描述的线程ID。通过执行man手册,我们也能发现他们的区别:SYNOPSIS #include pid_t gettid(vo
2017-03-05 11:32:19
1565
转载 Unix下C程序内存泄漏检测工具Valgrind安装与使用
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。 官网http://www.valgrind.org 下载与安装
2017-03-01 15:00:10
658
转载 C++ STL map的使用和性能分析
1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。 2、map的功能 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找1
2017-02-27 18:24:18
723
转载 linux关于bashrc与profile的区别(转)
bashrc与profile的区别要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也
2017-02-27 13:56:00
271
转载 c语言去除字符串空格(面试题)
voidVS_StrTrim(char*pStr){char *pTmp = pStr; while (*pStr != '/0'){if (*pStr != ' '){*pTmp++ = *pStr;}++pStr;}*pTmp ='/0';}/*去除字符串右边空格*/
2017-02-19 11:08:06
3341
转载 认真分析mmap:是什么 为什么 怎么用
mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可
2017-01-08 21:30:20
372
转载 shell编程之trap
trap可以使你在脚本中捕捉信号,该命令的一般形式为:trap name signal(s)其中,name是被捕捉到信号后所采取的一序列操作。实际生活中,name一般是一个专门用来处理所捕捉到的信号的函数。name需要用双引号引起来,signal就是待捕捉的信号。脚本在捕捉到一个信号后,通常会采取某些行动。最常见的动作包括:1)清除临时文件2)忽略该信号
2016-10-27 15:05:45
561
转载 【Linux学习】epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epol
2016-10-26 12:33:51
377
转载 【HTTP协议】Transfer-Encoding: chunked 长度不确定的http报文
Transfer-Encoding: chunked 表示输出的内容长度不能确定,普通的静态页面、图片之类的基本上都用不到这个。但动态页面就有可能会用到,但我也注意到大部分asp,php,asp.net动态页面输出的时候大部分还是使用Content-Length,没有使用Transfer-Encoding: chunked。不过如果结合:Content-Encoding: gzip
2016-10-26 11:05:21
6726
转载 Linux下chkconfig命令详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果
2016-10-24 16:58:18
302
转载 【转载】WIN32 应用程序内嵌IE浏览器(注意非MFC)
直接上代码: 后面附带注释 (代码是我从网上搜下来的,然后经过我的机器调试,并且编译通过的)本文用到了COM组件的相关知识,ATL的相关知识#include CComModule _Module;#include #include #pragma comment(lib,"atl")#pragma comment(lib,"User32.lib")L
2016-10-14 16:39:01
3090
转载 GDB常用命令
GDB常用命令运行run(简写r): 运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步的命令。 continue(简写c):继续执行,到下一个断点处(或运行结束) next(简写n): 单步跟踪程序,当遇到函数调用时,直接调用,不进入此函数体; step(简写s):单步调试如果有函数调用,则进入函数;与命令n不同,n是不进入调用的函数的 until:运
2016-09-29 11:06:32
329
转载 【网络协议】TCP分段与IP分片
我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段,在接受时进行重组,同样IP数据报在长度超过一定值时也会发生分片,在接收端再将分片重组。 我们先来看两个与TCP报文段分段和IP数据报分片密切相关的概念。 MYU(最大传输单元) MTU前面已经说过了,是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节
2016-09-28 16:07:11
426
转载 O_EXCL的作用(原子操作)
O_EXCL的作用设想这样一个需求:某个任务要求只能单个进程执行,不能多个进程同时执行。但是不能确保多个进程同时启动,尝试执行这个任务。这样就进一步要求,只有第一个执行的进程可以继续,后续尝试执行的进程都报错退出。方案之一就是使用带有O_EXCL标志的open()尝试打开一个文件。第一个进程执行时文件并不存在,它能成功创建文件并继续执行。第二个及后续的其它进程会因为
2016-09-22 16:01:29
8858
转载 gcc/g++参数详解
内容目录:[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld]
2016-09-13 11:41:58
2249
转载 通过自定义URL协议在Web中启动本地应用程序
通过自定义URL协议在Web中启动本地应用程序1、注册应用程序来处理自定义协议 你必须添加一个新的key以及相关的value到HKEY_CLASSES_ROOT中,来使应用程序可以处理特殊的URL协议。 新注册的key必须与协议scheme相匹配才可以被添加。例如,增加一个“alert:”协议,被增加到HKEY_CLASSES_ROOT的key必须是aler
2016-09-07 18:14:17
1133
转载 ffmpeg如何给视频添加水印(watermark)
折腾了几天,问题倒是解决了。现在把相关命令行写下,做个记录:G:\TOOLS\ffmpeg-0.8-win32-bin>ffmpeg -i input.avi -vf "movie=logo.png [logo]; [in][logo] overlay=10:10 [out]" output.avi效果如下:input.avi截图:output.avi截图:可以看到
2016-09-07 18:07:04
4551
转载 dup 与 dup2
1. 文件描述符在内核中数据结构 一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2),0与进程的标准输入相关联,1与进程的标准输出相关联,2与进程的标准错误输出相关联,一个进程当前有哪些打开的文件描述符可以通过/proc/进程ID/fd目录查看。 下图可以清
2016-09-05 18:08:00
407
转载 http请求报文介绍
1、请求报文介绍一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。(1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。HTTP协议的请求方法有GET、POST、HEAD、PUT
2016-07-22 10:52:16
1582
原创 如何通过offsetof 动态的给结构体或者类成员变量赋值
结构体typedef struct {char a;char b;int abc;}stTest;代码如下:int m = offsetof(stTest, abc);stTest test ;*(int*)(((char*)(&test))+m) = 1231424;刚开始我犯了一个错误,错误的写法如下:*(int*)(((&test
2016-07-21 17:22:29
815
转载 htonl、ntohl、htons、ntohs函数实现
typedef unsigned short int uint16;typedef unsigned long int uint32; // 短整型大小端互换#define BigLittleSwap16(A) ((((uint16)(A) & 0xff00) >> 8) | \ (((ui
2016-07-21 11:41:24
1789
转载 linux进程通信(一)--共享内存--mmap()
二、mmap()及其相关系统调用mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以向访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。注:实际上,mmap()系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一样对普通文件的操作。而Posix
2016-07-19 12:27:09
479
转载 大端法、小端法、网络字节序 转
大端法、小端法、网络字节序 转关于字节序(大端法、小端法)的定义《UNXI网络编程》定义:术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。 也可以说: 1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端
2016-07-18 17:56:22
807
转载 域名解析和cdn 原理
用户访问未使用CDN缓存网站的过程为: 1)、用户向浏览器提供要访问的域名; 2)、浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址; 3)、浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求; 4)、浏览器根据域名主机返回的数据显示网页的内容。 使用了CDN缓存后的网站的访问过程变为: 1)、用户向浏览器提
2016-05-20 12:09:14
2134
转载 ./configure,make,make install的作用
1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/l
2016-05-05 17:59:48
337
转载 x264 参数详解【很强大、很细致,不再为不懂啥意思很烦恼】
【 翻译 】x264参数介绍(一、帧类型和码率控制)2010年10月2日评论 发表评论翻译自:http://mewiki.project357.com/wiki/X264_Settings,水平有限,勿吝指教。第二部分:http://blog.yikuyiku.com/?p=2206输入用1个绝对路径定义输入文件(或者2个,rawYUV文件)。如
2016-05-05 12:11:12
12040
转载 x264参数 中文说明
参数及结构typedef struct{ int i_csp; //色彩空间参数 ,X264只支持I420 int i_stride[4]; //对应于各个色彩分量的跨度 uint8_t *plane[4]; //对应于各个色彩分量的数据} x264_image_t;#define X264_RC_CQP
2016-05-05 12:10:23
2179
转载 x264编码指南——码率控制
,使用一个比普通预设稍慢的预设,这样可以得到比默认设置稍好一点的视频质量。ffmpeg -i input -c:v libx264 -preset slow -crf 22-c:a copy output.mkv注意在这个例子中,输入文件的音频流被简单地拷贝到输出,并没有重编码。两遍模式:如果你的目标是一个确定大小的文件而且帧与帧之间的视频质量并不重要,这个方法很适
2016-05-05 12:09:37
1262
多边形转三角形算法
2018-10-24
计算机图形学
2018-09-29
Head First设计模式(中文版)
2014-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人