c
文章平均质量分 78
东方灬传说
这个作者很懒,什么都没留下…
展开
-
C语言字节对齐
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数转载 2014-01-24 12:48:34 · 801 阅读 · 1 评论 -
论randperm函数的原理
论randperm函数的原理2007-12-25 18:05 关于随机数的产生,matlab提供了rand(n, m)这样的函数,其实用C++实现也是比较简单的。这里谈一下产生1~n个不重复的随机数,它到底是如何产生的?搜一下matlab的关于randperm函数文件,果然搜到randperm.m其解释如下:function p = randperm(n);%R转载 2014-04-19 21:33:39 · 1415 阅读 · 0 评论 -
intel sse 头文件
Intel 的simd 指令不断地更新,相应的simd 头文件也随之产生。很容易搞混乱,在此我列出了相应的对应关系。zmmintrin.h mic 512bitimmintrin.h (Intel(R) AVX compiler intrinsics 256bit) =>转载 2014-04-22 22:38:57 · 1622 阅读 · 0 评论 -
Wellner 1993快速自适应的图像二值化方法的提高 (Derek Bradley and Gerhard Roth 2007)
前面一种方案实际上还是存在一定的问题的, 就是这个避重就轻的初始g(n)值127*s(127表示0-255之间的中间值), 这个东西带来的最直接的问题就是边缘的效果在这个算法下是不咋地的。 其实从这个所谓的"Wellner 1993", 后人又做了很多的改进, 使之效率更高, 效果更好。比方说这个Derek Bradley和Gerhard Roth搞的这个所谓 Adaptive Threshold转载 2014-04-24 19:50:23 · 746 阅读 · 0 评论 -
代码面试最常用的10大算法
摘要:面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。本文总结了程序员在代码面试中最常遇到的10个算法,想要真正了解这些算法的原理,还需程序员们花些功夫。转载 2014-04-11 09:37:29 · 533 阅读 · 0 评论 -
OpenCV中resize函数五种插值算法的实现过程
最新版OpenCV2.4.7中,cv::resize函数有五种插值算法:最近邻、双线性、双三次、基于像素区域关系、兰索斯插值。下面用for循环代替cv::resize函数来说明其详细的插值实现过程,其中部分代码摘自于cv::resize函数中的源代码。每种插值算法的前部分代码是相同的,如下:[cpp] view plaincopycv转载 2014-04-27 23:02:20 · 1479 阅读 · 0 评论 -
time,gettimeofday,clock_gettime,_ftime
[c-sharp] view plaincopyprint?time()提供了秒级的精确度 1、头文件 2、函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒数 用time()函数结合其他函数(如:localtime、gmtime、asctime转载 2014-07-24 10:58:42 · 710 阅读 · 0 评论 -
C语言单链表实现19个功能完全详解
最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的。自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能。到目前我只写了一半,先传上来,大家有兴趣的可以帮忙指正,谢谢在vs2010上面编译运行无错误。每天都会把我写的新代码添加到这个里面。直到此链表完成。#incl转载 2014-06-18 14:59:45 · 590 阅读 · 0 评论 -
字符串以及内存操作相关函数
字符串拷贝和内存拷贝函数:strcpystrncpymemcpymemmovememccpybcopy 字符串和内存数据比较函数:strcmpstrcasecmpstrncasecmpmemcmpstrcollbcmp 连接字符串的函数:strcatstrncat 查找字符/字符串的函数:strstrstrch转载 2014-12-05 19:17:48 · 658 阅读 · 1 评论 -
NASM 宏参数个数说明
4.3.3 不确定的宏参数个数. 通常,定义一个宏,它可以在接受了前面的几个参数后, 把后面的所有参数都作为一个参数来使用,这可能是非常有用的,一个相关的例子是,一个宏可能用来写一个字符串到一个MS-DOS的文本文件中,这里,你可能希望这样写代码: writefile [filehandle],"hello, world",13,10转载 2014-03-21 13:55:52 · 1407 阅读 · 0 评论 -
字节对齐
在内存管理中经常使用字节对齐来分配内存,有关字节对齐的算法如下:1 原理:2字节对齐,要求地址位为2,4,6,8...,要求二进制位最后一位为0(2的1次方)4字节对齐,要求地址位为4,8,12,16...,要求二进制位最后两位为0(2的2次方)8字节对齐,要求地址位为8,16,24,32...,要求二进制位最后三位为0(2的3次方)16字节对齐,要求地址位转载 2014-03-31 09:10:06 · 561 阅读 · 0 评论 -
使用Visual Studio Profiler分析程序性能
Profiler 是 Visual Studio 中集成的性能分析工具。它主要用于分析程序中所有函数调用所占的耗费时间。它提供了Sample和Instrumentation两种检测方式,能够生成简洁易读的报告。它只适用于Team Suit版本。 下面性能分析的环境是在Windows XP SP2,Visual Studio 2008 Team Suit环境。转载 2014-02-26 09:01:18 · 1910 阅读 · 0 评论 -
函数指针数组的定义
函数指针数组的定义方法,有两种:一种是标准的方法;一种是蒙骗法。第一种,标准方法:{分析:函数指针数组是一个其元素是函数指针的数组。那么也就是说,此数据结构是是一个数组,且其元素是一个指向函数入口地址的指针。根据分析:首先说明是一个数组:数组名[]其次,要说明其元素的数据类型指针:*数组名[].再 次,要明确这每一个数组元素是指向函数入口地址的指针:函数返回值类型 (*数组转载 2014-02-13 09:19:24 · 563 阅读 · 0 评论 -
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变转载 2014-02-13 09:22:45 · 454 阅读 · 0 评论 -
性能测试-函数性能分析篇
http://blog.csdn.net/cwj007/article/details/17329性能测试-函数性能分析篇-Quantify 在利用ACT(Application Center Test)进行压力测试后,如何对发现性能问题的模块进行定位,发现性能瓶颈所在,这就需要大家了解一个性能分析工具,Rational Test Suite中的Quantify。Qua转载 2014-02-26 08:55:44 · 1095 阅读 · 0 评论 -
C使用FILE指针文件操作
文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其它外部转载 2014-03-06 16:59:01 · 753 阅读 · 0 评论 -
source insight使用
1 全屏字体修改我的是英文版3.5的。在Option里的Document Option(ALT+T)。左边有个Screen Font,点进去就可以设置了。正所谓难者不会,会者不难。2 单个字体修改Option 里面有个style properties 里面可以选择,很做种转载 2014-03-12 12:24:45 · 537 阅读 · 0 评论 -
[C] 跨平台使用Intrinsic函数范例1——使用SSE、AVX指令集 处理 单精度浮点数组求和(支持vc、gcc,兼容Windows、Linux、Mac)
作者:zyl910。 本文面对对SSE等SIMD指令集有一定基础的读者,以单精度浮点数组求和为例演示了如何跨平台使用SSE、AVX指令集。因使用了stdint、zintrin、ccpuid这三个模块,可以完全避免手工编写汇编代码,具有很高可移植性。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。一、问题背景 最初,我们只能使用汇编语言来编写SI转载 2014-03-13 14:49:00 · 1427 阅读 · 0 评论 -
[VC] 检测AVX系列指令集的支持级别(AVX、AVX2、F16C、FMA、FMA4、XOP)
从2011年的Sandy Bridge微架构处理器开始,现在支持AVX系列指令集的处理器越来越多了。本文探讨如何用VC编写检测AVX系列指令集的程序,并利用了先前的CPUIDFIELD方案。一、AVX系列指令集简介 SSE5 指令:SSE5 是一个纸面上的指令集,并没有最终实现,AMD 在 2007 年 8 月公布 SSE5 指令集规范,在 2009 年 5 月 AMD 推出了 XOP,转载 2014-03-13 16:51:12 · 3157 阅读 · 0 评论 -
精确计算程序运行的时间
#include #include void main() { LARGE_INTEGER Freq; LARGE_INTEGER Count1, Count2; QueryPerformanceFrequency(&Freq); //调用API函数, 这个API函数可是优先级0的函数啊. QueryPe转载 2014-03-13 18:48:47 · 606 阅读 · 0 评论 -
中值滤波--sj
// stdafx.h : 标准系统包含文件的包含文件,// 或是经常使用但不常更改的// 特定于项目的包含文件//#pragma once#include "targetver.h"#include #include // TODO: 在此处引用程序需要的其他头文件#include #include原创 2015-04-22 22:17:31 · 1091 阅读 · 0 评论