程序员必知系列
tercel_zhang
酷爱编程,喜爱交友
展开
-
程序员必知之浮点数运算原理详解
导读:浮点数运算是一个非常有技术含量的话题,不太容易掌握。许多程序员都不清楚使用==操作符比较float/double类型的话到底出现什么问题。 许多人使用float/double进行货币计算时经常会犯错。这篇文章是这一系列中的精华,所有的软件开发人员都应该读一下。 随着你经验的增长,你肯定 想去深入了解一些常见的东西的细节,浮点数运算就是其中之一。1. 什么是浮点数? 在计算机系统的发展...转载 2016-09-14 14:30:05 · 155132 阅读 · 13 评论 -
常用SSE指令集介绍
SIMD相关头文件包括:[cpp] view plain copy//#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h) #include <mmintrin.h&...转载 2018-04-19 13:37:41 · 2618 阅读 · 0 评论 -
SSE2介绍及其简单用法举例
SSE2,全名为Streaming SIMD Extensions 2,是一种IA-32架构的SIMD指令集。SSE2是在2001年随着Intel发表第一代Pentium 4处理器也一并推出的指令集。它延伸较早的SSE指令集,而且可以完全取代MMX指令集。在2004年,Intel再度扩展了SSE2指令为SSE3指令集。与70条指令的SSE相比,SSE2 新增了144条指令。在2003年,AMD也在...转载 2018-04-19 13:42:48 · 2340 阅读 · 0 评论 -
图像处理与机器视觉网络资源收罗——倾心大放送
做图像处理或计算机视觉研究和开发,常会在线搜索一些资源,日积月累便挖出了一堆比较牛的博主,特别说明:做这个方向的人很多,牛人也很多,但是这些资源大部分主要突出实用主义,相关博主也并不一定是这个领域中的泰山北斗(第一波中大部分都不是学校里的教授),但是他们的空间里真的有料,可以学到很多。不断更新中,但大浪淘沙,我只保留最值得推荐的。第一波是一些资源丰富的博客,有算法介绍,也有代码实现:1、毕业于荷兰...转载 2018-04-25 14:46:26 · 174 阅读 · 0 评论 -
Eclipse的Debug介绍与技巧
Eclipse的Debug介绍与技巧原文地址:http://www.hollischuang.com/archives/365没有任何程序员能够一气呵成的写出没有任何BUG的代码,所以很多程序员有相当一部分时间是花费在Debug上的,程序调试是每个程序员必须面对的工作,如何使用Eclipse进行有效的、尤其是高效的进行代码调试是一个值得学习的技巧。一、Eclipse调试介绍二、Eclipse中和D...转载 2018-05-25 09:32:43 · 375 阅读 · 0 评论 -
编写高效的C程序与C代码优化
本文地址:http://www.cnblogs.com/archimedes/p/writing-efficient-c-and-code-optimization.html,转载请注明源地址。说明:本篇文章翻译自:http://www.codeproject.com/Articles/6154/Writing-Efficient-C-and-C-Code-Optimization其中参考了文章:...转载 2018-06-14 15:52:31 · 468 阅读 · 0 评论 -
深入理解Cache
存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也因此越小。寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2等缓存),再次是主存(普通内存),再次是本地磁盘。 寄存器的速度最快,可以在一个时钟周期内访问,其次是高速缓存,可以在几个时钟周期内访问,普通内存可以在几十个或几...转载 2018-07-13 14:53:14 · 10756 阅读 · 1 评论 -
关于CPU Cache -- 程序猿需要知道的那些事
本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/all-about-cpu-cache/先来看一张本文所有概念的一个思维导图为什么要有CPU Cache随着工艺的提升最近几十年CPU的频率不断提升,而受制...转载 2018-07-13 17:40:00 · 371 阅读 · 0 评论 -
彻底理解数字图像处理中的卷积-以Sobel算子为例
原文地址:https://www.cnblogs.com/freeblues/p/5738987.html作者:FreeBlues 修订记录 2016.08.04 初稿完成 概述卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨论卷积在数字图像处理中的应用.在数字图像处理中, 有一种基本的处理方法:线性滤波. 待处理的平面数字图像可被看做一个大矩阵, 图...转载 2018-07-31 17:44:23 · 4856 阅读 · 0 评论 -
TCP/IP详解学习笔记
TCP/IP详解学习笔记 这位仁兄写得太好了TCP/IP详解学习笔记 这位仁兄写得太好了.http://blog.csdn.net/goodboy1881/category/204448.aspxTCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器TCP/IP详解学习笔记(12)-TCP的超时与重传TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流 ...转载 2018-11-21 15:45:33 · 427 阅读 · 0 评论 -
SSE2指令--使用SSE2的整型内存操作和初始化:加载(Load)
所有的SSE2指令的声明都在emmintrin.h头文件中可以找得到。 1. __m128i _mm_load_si128 (__m128i *p); 指令名:__m128i _mm_load_si128 (__m128i *p); 说明:加载128bits值; 返回值:返回可以存放在代表寄存器的变量中的值; 注意:p必须是一个16-bit对齐的一个变量的地址; ...转载 2018-04-19 13:32:36 · 3543 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(2)参考手册
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/index.htm#intref_cls/common/intref_bk_sse.htmhttp://www.tommesani.com/Docs.htmlIntel架构开发人员手册:里面有很多和架构、指令集、优...转载 2018-04-19 11:47:48 · 660 阅读 · 0 评论 -
经典编程书籍大全
原文地址:https://github.com/jobbole/awesome-programming-books有文说:如果一个码农参加工作三年,却没有读过其中至少10本书,不建议你把设计软件作为长期职业,要么没兴趣,要么没天赋。这一句话可能是真的100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序转载 2017-05-15 14:05:09 · 1044 阅读 · 0 评论 -
编程思想之多线程与多进程(4):C++ 中的多线程
《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,《编程思想之多线程与多进程(2)——线程优先级与线程安全》一文讲了线程安全(各种同步锁)和优先级,这是多线程学习必须了解的基础。本文将接着讲一下C++中多线程程序的开发.这里主要讲Windows平台线程的用法,创建线程要调用windows API的CreateThread方法转载 2017-05-15 14:58:03 · 323 阅读 · 0 评论 -
20位活跃在Github上的国内技术大牛
20位活跃在Github上的国内技术大牛本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔?1. lifesinger(玉伯)Github主页: https://github.com/lifesinger微博:@ 玉伯也叫射雕玉伯(王保平),淘宝前端类库 KISSY、前端模块化开发框架SeaJS、转载 2017-11-08 14:14:28 · 358 阅读 · 0 评论 -
CPU和GPU的设计区别
CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。 于是CPU和GPU就呈现出非常不同的架构(示意图): 图片转载 2017-10-17 13:50:07 · 721 阅读 · 0 评论 -
[C] 跨平台使用Intrinsic函数范例1——使用SSE、AVX指令集 处理 单精度浮点数组求和(支持vc、gcc,兼容Windows、Linux、Mac)
作者:zyl910。 本文面对对SSE等SIMD指令集有一定基础的读者,以单精度浮点数组求和为例演示了如何跨平台使用SSE、AVX指令集。因使用了stdint、zintrin、ccpuid这三个模块,可以完全避免手工编写汇编代码,具有很高可移植性。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。一、问题背景 最初,我们只能使用汇编语转载 2018-02-07 15:25:35 · 1039 阅读 · 0 评论 -
SSE指令集入门
Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有关SSE技术的主题[1]有可能会使不熟悉使用SSE汇编指令编程的初学者感到困惑,但是在阅读MSDN有关...转载 2018-04-23 13:24:35 · 10504 阅读 · 1 评论 -
SSE2的一些常用指令集介绍
开门见山,前段时间学习OpenCV的FAST算法,中间有很多SSE2的指令集,深受其惑。下面我把学习过程中学到的一些指令集介绍给大家,希望能对大家有所帮助!__m128i被称为128bits的整数,对其进行赋值时,可以调用__m128i_mm_set1_epi8或者__m128i_mm_set1_epi816等,前者就是把128bits设置为16个8bits的整数值,后一个例子就是把128bits...转载 2018-04-23 14:32:55 · 1643 阅读 · 0 评论 -
指令集简介
指令集或指令集体系:是计算机体系结构中与程序设计有关的部分,包含了基本数据类型、指令集、寄存器、寻址模式、中断、异常处理以及外部的I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。 指令集的分类:(1)、复杂指令集计算机包含许多应用程序中很少使用的特定指令;(2)、精简指令集计算机通过只执行在程序中经常使用的指令来简化处理器的结构...转载 2018-04-23 15:57:42 · 4036 阅读 · 0 评论 -
c/c++ 代码中使用sse指令集加速
在http://blog.csdn.net/gengshenghong/article/details/7008682里面列举了一些手册,其中Intel Intrinsic Guide可以查询到所有的Intrinsic函数、对应的汇编指令以及如何使用等,所以,接下来就不全部进行分析,以下只分析其中一部分,从而了解如何在C/C++代码中使用这些高级指令集的基本方法,至于更多的指令的使用,查询手册就很...转载 2018-04-19 11:42:07 · 8017 阅读 · 0 评论 -
Socket TCP/IP 通信实例
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是...转载 2018-11-21 18:00:59 · 2959 阅读 · 0 评论