include

信号集 信号阻塞集

倾然丶 夕夏残阳落幕 提交于 2020-03-17 07:44:25
信号集相关函数 //信号集 //类型:sigset_t //sigemptyset(sigset_t *set); //功能:创建空的信号集 //返回值:成功0,失败-1 //sigismember(sigset_t *set, int num); //功能:判断信号num是否存在于信号集set //返回值:存在1,不存在0,失败-1 //sigaddset(sigset_t *set, int num); //功能:将信号num添加于信号集set //返回值:成功0,失败-1 //sigdelset(sigset_t *set, int num); //功能:将信号num删除于信号集set //返回值:成功0,失败-1 //sigfillset(sigset_t *set); //功能:创建满的信号集 //返回值:成功0,失败-1 # include <stdio.h> # include <stdlib.h> # include <signal.h> int main ( int argc , char * argv [ ] ) { sigset_t empty_set , fill_set ; int ret = 0 ; ret = sigemptyset ( & empty_set ) ; if ( ret == 0 ) printf ( "create empty_set

ARM 移植 QT 5.9.6

折月煮酒 提交于 2020-03-17 06:33:23
1:配置脚本 因linux和windows格式配置不一样,复制进去会报错,直接在linux vim 手打 #!/bin/sh ./configure -prefix /opt/qt5.9 \ -opensource \ -debug \ -confirm-license \ -xplatform linux-arm-gnueabi-g++ \ -no-opengl \ -no-pch \ -shared \ -no-iconv \ -no-xcb \ 2:qmake.conf # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-linux-gnueabihf-gcc -lts QMAKE_CXX = arm-linux-gnueabihf-g++ -lts

RTTI(运行时类型识别)

空扰寡人 提交于 2020-03-17 05:37:50
   运行时类型识别(Run-time type identification , RTTI) ,是指在只有一个指向基类的指针或引用时,确定所指对象的准确类型的操作。其常被说成是C++的四大扩展之一(其他三个为异常、模板和名字空间)。 使用RTTI的两种方法:    1、typeid()   第一种就像sizeof(),它看上像一个函数,但实际上它是由编译器实现的。 typeid() 带有一个参数,它可以是一个对象引用或指针,返回全局 typeinfo类 的常量对象的一个引用。可以用运算符“= =”和“!=”来互相比较这些对象,也可以用 name() 来获得类型的名称。如果想知道一个指针所指对象的精确类型,我们必须逆向引用这个指针。比如: #include <typeinfo> #include <iostream> #include <cmath> using namespace std; class Shape { public : int area(float r) { float s=3.14*pow(r,2); return s; } }; int main() { Shape* shape=new Shape; cout<< typeid(*shape).name()<<endl; system("pause"); }   运行结果为:   为了保持一致性,typeid

分治--最近点对问题

末鹿安然 提交于 2020-03-17 05:26:35
一维: 排序后过一遍后-前即可 # include <iostream> # include <vector> # include <queue> # include <cmath> # include <algorithm> using namespace std ; int main ( ) { int a [ 5 ] = { 2 , 3 , 1 , 4 , 5 } ; sort ( a , a + 5 ) ; int minValue = a [ 1 ] - a [ 0 ] ; for ( int i = 2 ; i < 5 ; ++ i ) { int temp = a [ i ] - a [ i - 1 ] ; minValue = min ( minValue , temp ) ; } cout << minValue << endl ; return 0 ; } 二维: 来源: CSDN 作者: 人总是要有梦想的QAQ 链接: https://blog.csdn.net/qq_43410618/article/details/104883955

动态链接库dll的 静态加载 与 动态加载

[亡魂溺海] 提交于 2020-03-17 03:52:44
动态链接是指在生成可执行文件时不将所有程序用到的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找 。 而静态链接就是把所有用到的函数全部链接到exe文件中。 动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入; 而静态链接是把所有的代码和数据都复制到本模块中,运行时就不再需要库了。 静态链接方法:#pragma comment(lib, "test.lib") ,静态链接的时候, 载入代码就会把程序会用到的动态代码或动态代码的地址确定下来 静态库的链接可以使用静态链接,动态链接库也可以使用这种方法链接导入库 动态链接方法:LoadLibrary()/GetProcessAddress()和FreeLibrary() ,使用这种方式的程序并不在一开始就完成动态链接,而是直到真正调用动态库代码时,载入程序才计算(被调用的那部分)动态代码的 逻辑地址 ,然后等到某个时候,程序又需要调用另外某块动态代码时,载入程序又去计算这部分代码的逻辑地址,所以,这种方式使程序初始化时间较短,但运行期间的性能比不上静态链接的程序。 1. 生成 静态链接库 newdll) win32项目 -> dll 添加.h文件 betabinlib.h #ifndef BETABINLIB_H #define BETABINLIB_H

Linux命令【五】

ⅰ亾dé卋堺 提交于 2020-03-17 03:28:50
系统文件函数 stat函数 指针如果没有const一般表示传出参数,如果加const表示传入参数 struct stat dev_t st_dev 文件设备编号 ino_t st_ino 节点 inode号是唯一的,每个inode节点的大小一般是128字节活着256字节,一般文件每2KB就设置一个inode mode_t st_mode 文件类型和存取权限,16bite,4bite文件类型 4bit特殊权限位 3*4bit访问权限 nlink_t st_nlink 文件的硬链接数目 uid_t st_uid 用户ID gid_t st_gid 组ID dev_t st_rdev 若文件为设备文件,则为其设备编号 off_t st_size 文件字节数 blksize_t st_blksize 块大小(文件系统的I/O缓冲区大小) blkcnt_t st_blocks 快数 time_t st_atime 最后一次访问时间 time_t st_mtime 最后一次修改时间 time_t st_ctime 最后一次改变时间:指属性,包括访问,修改内容,修改类型等 stat 函数和 lstat 函数的区别:对于软链接,前者是穿透(追踪)函数,后者是不穿透(不追踪)函数 access测试文件是否有某种权限 chmod 改变文件权限 可以使用第3章 strtol 函数将字符串转化为数字

Study-VTK:求两个模型距离

霸气de小男生 提交于 2020-03-17 03:23:08
  计算距离使用的vtkDistancePolyDataFilter这个类。 DistancePolyData类 输入两个模型、压缩两个模型、比较两个模型体积、计算两个模型距离、渲染在小模型上显示。 double target_reduction_ ; // 输入模型压缩系数(模型比较大时候压缩下,减少计算时间) double scalar_range_ [ 2 ] ; // 标量范围 vtkSmartPointer < vtkPolyData > surface_small_ ; // 小模型 vtkSmartPointer < vtkPolyData > surface_big_ ; // 大模型 vtkSmartPointer < vtkPolyData > surface_ ; // 结果模型 Execute ( ) 表示开始计算 BuildView ( ) 可视化结果 SetSurfaces ( ) 结果模型 写入 / 读取 GetSurfaces ( ) 结果模型 写入 / 读取 SetSurfaces ( ) 计算模型 写入 / 读取 GetSurfaces ( ) 计算模型 写入 / 读取 SetScalarRange ( ) 标量范围 写入 / 读取 GetScalarRange ( ) 标量范围 写入 / 读取 SetTargetReduction ( )

学习QT之不规则窗体

人走茶凉 提交于 2020-03-17 02:28:01
常见的窗体通常是各种方形的对话框,但有时也需要使用非方形的窗体,如原型、椭圆形、甚至于是不规则形状的对话框。 利用 setMask() 函数为窗体设置遮罩,实现不规则窗体。设置遮罩后的窗体尺寸仍然是原窗体大小,只是被遮罩的地方不可见。 下面通过一个实例来介绍它的使用 : 一、运行结果 二、具体代码 shapewidget.h #ifndef SHAPEWIDGET_H #define SHAPEWIDGET_H #include <QWidget> class ShapeWidget : public QWidget { Q_OBJECT public: ShapeWidget(QWidget *parent = 0); ~ShapeWidget(); protected: void mousePressEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); void paintEvent(QPaintEvent *); private: QPoint dragPosition; }; #endif // SHAPEWIDGET_H shapewidget.cpp #include "shapewidget.h" #include <QMouseEvent> #include <QPainter> #include

gcc 常用命令

我的梦境 提交于 2020-03-17 00:50:36
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 [参数详解] -c   只激活预处理,编译,和汇编,也就是他只把程序做成obj文件   例子用法:   gcc -c hello.c   他将生成.o的obj文件 -S   只激活预处理和编译,就是指把文件编译成为汇编代码。   例子用法   gcc -S hello.c   他将生成.s的汇编代码,你可以用文本编辑器察看 -E   只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里   面.   例子用法:   gcc -E hello.c > pianoapan.txt   gcc -E hello.c | more   慢慢看吧,一个hello word 也要与处理成800行的代码 -o   制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果   你和我有同感,改掉它,哈哈   例子用法   gcc -o hello.exe hello.c (哦,windows用习惯了)   gcc -o hello.asm -S hello.c -ansi   关闭gnu c中与ansi

学习QT之进度条

拥有回忆 提交于 2020-03-16 16:58:06
通常,在处理长时间任务是需要提供进度条用于显示时间,告诉用户当前任务的进展情况。进度条对话框的使用方法有两种,即模态和非模态方式。模态方式的使用比较简单方便,但必须使用 QApplication::processEvents() ,使时间循环保持正常进行状态,以确保应用不会被阻塞;若使用非模态方式,则需要通过 QTime 实现定时设置进度条的值。 Qt提供了两种显示进度条的方式,一种是 QProgressBar ,提供了一种横向或纵向显示进度的控件表示方式,用来描述任务的完成情况;另一种是 QProgressDialog ,提供了一种针对慢速过程的进度对话框表示方式,用于描述任务完成的进度情况。标准的进度条对话框包括一个进度显示条、一个"取消"(Cancel)按钮及一个标签。 以下通过一个实例来介绍它们的使用 : 一、运行结果 采用进度条的方式显示进度 采用进度条对话框的方式显示进度 二、详细代码 progressdlg.h #ifndef PROGRESSDLG_H #define PROGRESSDLG_H #include <QDialog> #include <QLabel> #include <QLineEdit> #include <QProgressBar> #include <QComboBox> #include <QPushButton> #include