分类: C/C++

Cmake的使用[转]

Introducation 本文系转载,源于我要修改CLion自动生成的cmakelist。 一、基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程文件或makefile文件 二、概念 out-of-source build,与in-source build相对,即将编译输出文件与源文件放到不同目录中; 三、基本结构 依赖CMakeLis...

HEVC学习笔记8-GOP中参考帧相关

Pre HEVC学习笔记系列目录 GOP一直没有理清楚,现在记笔记总结一下现有的理解和遇到的问题。有错误请指正。 GOP 视频序列由若干时间连续的图像构成,在对其进行压缩时,先将视频序列分割为若干个小的图像组(Group Of Pictures,GOP).在视频编码中,存在两种GOP类型:封闭式GOP(Closed GOP)和开放式GOP(Open GOP),封闭式GOP如下图所示,每个GOP以IDR(Instantaneous Decoding Refresh)图像开始,各个GOP之间独立编解...

C++实验指导(算术表达式求值)(给学弟学妹看的)

算术表达式求值 实验要求 基础要求: 四则运算 带括号 进阶要求: 次幂 负数 实验报告格式 个人信息 实验要求 实验内容 实验结果及分析 遇到的问题及解决方式 总结 样例代码说明 课件中的要求是先将表达式转换成后缀表达式,然后再计算这个后缀表达式。 我把代码改成了纯C的,queue用链表模拟,stack用数组模拟。其中两次用到了stack,由于数据类型不同,所以写了两个结构体,但实际上,可以合成一个,通过添加一个标记变量来识别。为了代码的简单,我没有添加各种边界检查,这并不是一个好习惯,很容易...

信息安全实验RC4和MD5

信息安全实验 RC4和MD5 实验要求 RC4和MD5。将用户的密码通过md5加密之后作为RC4加密的输入key进行设置RC4的密钥,并使用此密钥对用户内容进行加密。 实验 几个关键词 密钥流:RC4算法的关键是根据明文和密钥生成相应的密钥流,密钥流的长度和明文的长度是对应的,也就是说明文的长度是500字节,那么密钥流也是500字节。当然,加密生成的密文也是500字节,因为密文第i字节=明文第i字节^密钥流第i字节; 状态向量S:长度为256,S[0],S[1]…..S[255]。每个单元都...

并行计算实验(五)Pthread

Pre Pthreads 是 IEEE(电子和电气工程师协会)委员会开发的一组线程接口,负责指定便携式操作系统接口(POSIX)。Pthreads 中的 P 表示 POSIX,实际上,Pthreads 有时候也代表 POSIX 线程。基本上,POSIX 委员会定义了一系列基本功能和数据结构,它希望能够被大量厂商采用,因此线程代码能够轻松地在操作系统上移植。委员会的梦想由 UNIX 厂商实现了,他们都大规模实施 Pthreads。(最著名的例外就是 Sun,它继续采用 Solaris* 线程作为其...

并行计算实验(四)OPENMP

OPENMP OpenMP是专门针对共享地址空间的平行计算机提供的并行计算库,支持OpenMp的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等,现在只需要在编译的时候添加-fopenmp,就启用了对openmp的支持。 对于实验而言,本文的内容已经足够多了,如果想了解更多,请看最后的Reference里的内容。 更多内容查看并行计算实验系列文章目录 Simple HelloWorld #include <stdio.h> int main...

并行计算实验(三)openMPI简单函数解释

更多内容查看并行计算实验系列文章目录 openMPI简单函数介绍 针对实验用到的几个函数进行说明。 MPI为程序员提供一个并行环境库,程序员通过调用MPI的库程序来达到程序员所要达到的并行目的,可以只使用其中的6个最基本的函数就能编写一个完整的MPI程序去求解很多问题。这6个基本函数,包括启动和结束MPI环境,识别进程以及发送和接收消息: 理论上说,MPI所有的通信功能可以用它的六个基本的调用来实现: MPI_INIT 启动MPI环境 MPI_COMM_SIZE 确定进程数 MPI_COMM_R...

并行计算实验(二)MPI计算矩阵乘法

Pre 更多参考并行计算实验目录 通过opemMPI加速矩阵乘法运算。采用主从模式,0号是master,其他是child(或者叫worker,as you wish)。 基本思路 两个矩阵A,B进行乘法运算,则A的行 i 乘以B的列 j 得出的数是新矩阵(i,j)坐标的数值。A(MN) B(NK)最后矩阵是M*K的,实验中M=N=K=1000,我也就没有明确区分MNK,全部用MATRIX_SIZE定义的。 最简单的思路就是每个worker分配(MATRIX_SIZE/(numprocess-1)...

并行计算实验(一)配置OPEMMPI

更多参考并行计算实验目录 安装openMPI 由于是实验,也不进行多机的配置了,只在虚拟机里安装吧。多个机器的配置可以参考此文 最简单的方法,apt安装 sudo apt-get install libcr-dev mpich2 mpich2-doc 测试 hello.c /* C Example */ #include <mpi.h> #include <stdio.h> int main (int argc, char* argv[]) { int rank, siz...

移植c程序到安卓

Pre 安卓是基于linux做的,如果是普通的c程序经过简单的修改也可以在安卓上跑。当然是纯命令行式的跑。 我的开发环境: Ubuntu14.04 x86_64 手机:小米4c Android 5.1.1 准备工作 参考ubuntu下Eclipse搭建android开发环境配置adb,手机连接上电脑,从开发者模式里开启usb调试,然后输入 adb devices 正确的结果应该是列出了可用的设备的series_number和名称,如果多个设备同时插入,可以用-s series_number来使用...