- 博客(20)
- 资源 (30)
- 问答 (1)
- 收藏
- 关注
原创 线程间的参数传递
在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果,若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下;而利用进程间的参数传递可以解决这一问题。两个方向的参数传递:1.主线程向子线程传递参数:通过函数 int pthread_create(pthread_t *thread, const pthread_attr_t *
2014-06-15 17:48:23 4396
原创 Latex排版工具的使用(一)
使用Latex可以排版出漂亮的论文,尤其适合对含有数学公式论文的排版。下面编写第一Latex源文件,实现对两个数学公式的排版:新建文件first.tex:\documentclass{article}\begin{document}\begin{equation}\sqrt{x^2+y^2}\end{equation}\begin{equation}\int_{a}^{
2014-06-14 22:52:25 1176
原创 Matlab实现Hough变换检测图像中的直线
Hough变换的原理:将图像从图像空间变换至参数空间,变换公式如下:变换以后,图像空间与参数空间存在以下关系:图像空间中的一点在参数空间是一条曲线,而图像空间共线的各点对应于参数空间交于一点的各条曲线。下面使用Matlab实现Hough变换对图像中的直线划痕进行检测。close all;clear all;I = imread('scratch.tif');figu
2014-06-14 22:07:06 43181 1
原创 Matlab实现图像分割
下面使用极小值点阈值选取方法,编写MATLAB程序实现图像分割的功能。极小值点阈值选取法即从原图像的直方图的包络线中选取出极小值点,并以极小值点为阈值将图像转为二值图像clear all;close all ;G=imread('rabbit.png');figure();subplot(2,2,1);imshow(G);subplot(2,2,2);imhist(G
2014-06-14 21:31:20 24786 10
原创 linux下的c程序排版工具:indent
Linux下有一个方便的c语言程序排版工具,只要选择恰当的参数,可以轻易地使自己的程序具有统一的风格。indent参数众多,可以自行查看man文档,下面是我个人使用的命令:indent -i2 -bli 0 -sob -npsl input.c -o output.c其中:-i n:设置缩排的格数-bli n:设置{ }缩排的格数-sob:删除多余的空白行-npsl:
2014-06-14 20:05:25 3082
原创 编程实现英文数字到中文大写数字的转换
本程序实现英文数字到中文大写数字的转换。主要思想是利用该语法自底向上地构造出1——>999999999999;然后将数字转换成中文大写。利用flex进行词法分析,bison进行句法分析。语法如下:e1-->one|two|three|four|five|six|seven|eight|nine e2-->ten|eleven|twelve|thirteen|four
2014-06-02 15:15:45 1969
原创 Linux的proc文件系统
proc为一个内核数据结构接口,用户空间和内核空间可以通过该接口通信,与普通文件不同的是,这些虚拟文件的内容都是动态创建的。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过 proc得到系统的信息,并可以改变内核的某些参数。proc文件系统可以被用于收集有用的关于系统和运行中的内
2014-06-02 10:21:49 1365
原创 递归查找无效的符号链接
本程序实现在指定目录下递归查找无效的符号链接。1.设计思路逐个读取给定目录中的目录项,判断类型(1)若为目录,则读取该目录中的目录项并判断类型;(2)若为链接文件,则读取出其指向文件的名称(绝对/相对路径);若内容为绝对路径(以/开头),直接作为目标文件的路径;若内容为相对路径(不以/开头),将链接文件所在目录的路径作为前缀;这样构造出目标文件的路径,尝试用stat函数
2014-06-02 00:14:23 1310
原创 随机带权选取文件中一行
本程序实现从文件中随即选取一行,每行被选中的概率与改行长度成正比。程序用一次遍历,实现带权随机选取。算法:假设第i行权重wi(i=1...n).读取到文件第i行时,以概率wi/(w1+w2+...+wi)用该行替换上一轮被选中的行,直至读取文件结束。这样可以从数学上保证i行被选中的概率为wi/(w1+w2+...+wn);
2014-06-02 00:11:47 1101
原创 tac命令的实现
此程序实现简化的tac命令,首先将文件指针置于文件尾,从后向前移动指针,将两个换行符'\n'间的内容作为一行输出。#include#include#include#include#include #include #define BUFSIZE 4096char buf[BUFSIZE];void reverse(int fp); void main(int argc
2014-06-02 00:08:29 1983
原创 Matlab实现Butterworth滤波器
下面是用Matlab实现的Butterworth高通、低通滤波器。clc;clear all;close all;I=imread('cameraman.tif');subplot(3,2,1);imshow(I);title('原始图');f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算g=fft2(f); % 傅立叶变换
2014-06-02 00:05:30 24325
原创 egrep命令的实现
本程序实现了egrep命令,首先将正则表达式转换为NFA,并实现模拟NFA的算法。若给定的一行字符串中存在一个字串能被该NFA接受,则输出整行。所用语法如下:S-->S|S |SS |S* |(S) |a
2014-06-01 23:41:14 1137
原创 随机L系统分形树
class Node{public: int x,y; double direction; Node(){}};CString way[3] ;//提供三种生成规则CString rule,temprule;int len ; //单步长int angle; //旋转转角度int degree ; //迭代次数int x,y ; //原点坐标
2014-06-01 23:27:55 3571
原创 matlab实现算术编解码
利用Matlabshi x aclc,clear all;symbol=['abc']; pr=[0.4 0.4 0.2]; %各字符出现的概率temp=[0.0 0.4 0.8 1.0];orignal=temp;in=input('input a string of abc:');n=length(in);%编码for i=1:n wid
2014-06-01 23:01:24 12276
快速NLM文档
2018-03-02
ModalBoxAndMessage
2016-10-30
MFC对话框创建
2016-10-30
MFC模态与非模态对话框
2016-10-30
形态学操作
2016-06-23
Bmptest.rar
2016-06-03
真实感三维场景绘制
2016-01-29
快速高斯滤波
2015-09-25
汉语自动分词
2014-12-30
MFC实现俄罗斯方块
2014-06-01
请教编译原理中的问题
2013-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人