C/C++
文章平均质量分 80
G_Spider
Windows虽然乐趣 但易崩溃 GNU/Linux长相平平 成绩优秀 Mac OS魅力动人 成绩平平
BSD本性温顺 默默无闻
展开
-
编译Notepad2语法高亮记事本源码心得
很早就用上了Notepad2这个支持语法高亮的记事本,不过是以前很早的版本且被人汉化了。之后,发现了help菜单栏关于Notepad2的官方网站,收获不少。竟然开源,看样子国外的开源精神不得不佩服!网址告诉大家:http://www.flos-freeware.ch/notepad2.html里面现在最新版的是Notepad2 4.1.24 ,包括了源码。原创 2010-07-10 17:06:00 · 5959 阅读 · 2 评论 -
快速无符号整数开方
看了下liangbch 兄打包的Uint32sqrt测试程序,发现进一步改进很难,尤其是yaos的iSqrt_FPU2_yaos ,不过我还是勉强做了些细微的改动,给出三个版本加上iSqrt_FPU2_yaos。测试:环境:Intel Core(TM) 2 Duo E8500 3.16GHz 3.16GHz 4.00G win7 32位,vs 0~0xfff ffff 所花时间 Elapsed time: fast_sqrt1 : 4.414000 s fast_sqrt2 : 5.226000 s iSq原创 2011-04-15 21:12:00 · 2913 阅读 · 1 评论 -
Everything You Need To Know To Start Programming 64-Bit Windows Systems
x64 PrimerEverything You Need To Know To Start Programming 64-Bit Windows SystemsMatt Pietrek<br /> This article discusses: Background on 64-bit versions of WindowsJust enough x64 architecture to get byDeveloping for x64 with Visual C++ 2005Debugging techn转载 2011-04-23 10:58:00 · 2068 阅读 · 0 评论 -
64位编程命令选项
用于 x64 的 Microsoft (R) C/C++ 优化编译器 14.00.50727.42 版版权所有(C) Microsoft Corporation。保留所有权利。 C/C++ 编译器选项 -优化-/O1 最小化空间 /O2 最大化速度/Ob 内联扩展(默认 n=0) /Od 禁用优化(默认)/Og 启用全局优化原创 2011-04-23 15:31:00 · 2356 阅读 · 0 评论 -
GotoBlas2之IxAMAX
Blas的相关接口可以参考,同时要参考源码包中的reference文件夹,这个应该才是最重要的吧。比如,在ICAMAX 中对incx的解释(来自网页,如下)When working backward (incx vector and moves backward, as follows: x(1-incx * (n-1)), x(1-incx * (n-原创 2011-06-22 19:38:00 · 1253 阅读 · 1 评论 -
GotoBlas2之xASUM
xASUM 绝对值求和。 #include #include "gotoblas2.h"#pragma comment(lib,"libgoto2.lib")//FUNCTION xASUM (N , X, INCX)/* SASUM, DASUM, SCASUM, and DZASUM (Sum of the Magnitudes of the Eleme原创 2011-06-22 21:26:00 · 1017 阅读 · 0 评论 -
打造Win7下漂亮的vc++6.0
在win7下也可以非常好的使用vc++6.0 ,经常有人说有兼容问题,不过网上有很多解决方案,我简单罗列一下:1.下载vc++6.0的软件,我喜欢用英文版的,中文的也行,这里包括了这两个版本:地址:http://down.gougou.com/down?cid=C7D4A2496原创 2011-07-11 19:29:24 · 4635 阅读 · 3 评论 -
gmp 5.0.1 windows 下编译使用
编译好的最新版gmp的dll 文件下载简单的纠正一下,最新版是gmp 5.0.1 并注意到,在vc平台下使用该库中的mpz_out_str()会技术性崩溃,问题还未查明,其他函数验证通过。所以对于mpz_out_str 使用的解决方案:使用 mpz_get_str() //替换m原创 2011-01-12 13:33:00 · 8619 阅读 · 4 评论 -
优化的两款串Hash函数
对以下两种hash函数(FNV BKDR)做了点优化,方便用于以0结尾的短字符串进行hash,得到32位的hash值----------------- By G-Spider FNV hash Fnv32_t__stdcall fnv_32a_str_c(char *str){ unsigned char *s = (unsigned char *)str; /* u原创 2011-11-12 23:26:27 · 1283 阅读 · 0 评论 -
c文件操作的一般流程
发表于:2011-07-16 18:22:11最近在做一个小软件,其中有一个功能是把下载下来的一个txt文件给分割成三个小文件,然后分别保存为文本文档。大文件的格式如下:#0#1##########2##########3//这里有个换行其中,1,2,3假设为每个小文件要保存的内容,“##########”为用来识别的分割符。即,每当读到“##########”时,就先不往原创 2011-11-03 14:54:29 · 879 阅读 · 0 评论 -
GCC 内联汇编测试
-masm=dialectOutput asm instructions using selected dialect. Supported choices are ‘intel’or ‘att’ (the default one). Darwin does not support ‘intel’. intel_syntax风格语法,AT&T实在看的不顺眼,呵呵。compiled原创 2011-11-07 16:49:46 · 1232 阅读 · 0 评论 -
[收集]相对路径和绝对路径
为文件命名尽管每个文件系统对各自的文件夹或文件的命名格式都有具体的规定,但是所有的系统都遵循着一个通用的约定:一个基本文件名(base file name)和一个可选的扩展名,它们之间被一个点号分开。 例如,MS-DOS FAT 文件系统支持8字符长得基本文件名和3字符长的扩展名。这被称为8.3文件名。FAT文件系统和NTFS文件系统没有8.3文件名的限制,因为它们支持长文件名(l原创 2012-09-02 13:02:07 · 4046 阅读 · 0 评论 -
php 解决Notice: Undefined index:
用户名: 密码: <?php //~ function _post($str){原创 2013-07-30 22:25:58 · 2761 阅读 · 0 评论 -
opengl 中透视投影到屏幕的对应关系
#include #include #include #include #define PI 3.14159265358979323846264338327950288 // piLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HIN原创 2013-08-04 23:33:21 · 2134 阅读 · 0 评论 -
How to use UpdateLayeredWindow with UI Controls like buttons etc?:)
Marc Gregoire said,Wrote on June 17, 2009 @ 12:21 pm In my example I have this device context called hDC which will be used in the call to UpdateLayeredWindow. This is just a 32bit device co原创 2013-08-08 22:32:07 · 1137 阅读 · 0 评论 -
关于一些透明窗体所需的的函数
效果图: 1.DIB32位, 预乘alphaproc AlphaPreMul uses ebx edi, pBitDst,pDstRect,dwDstWight local dwWight:DWORD,dwHight:DWORD ;--------------------------------------- mov edi,[pBitD原创 2013-08-11 15:47:40 · 1305 阅读 · 0 评论 -
Inline Assembler 内联汇编
<br /> <br />汇编语言是很多的用途,例如提高程序的速度,减少内存的需要,并控制硬件。若要直接在没有额外的程序集和链接的步骤 C 和C++ 源代码程序中嵌入汇编语言指令,可以使用内联汇编。内嵌汇编器是内置编译器,因此您不需要单独的汇编器如 Microsoft 的宏汇编器 (MASM)。<br />注意: <br />内联汇编代码的程序不是完全可移植到其他硬件平台。如果您正在设计的可移植性,避免使用内联汇编。<br />安腾和 x64 处理器不支持内联程序集。<br />下列主题介绍了如何使用Vi原创 2011-04-09 13:09:00 · 1808 阅读 · 0 评论 -
内嵌汇编测试代码
内嵌汇编测试代码(By G-Spider): #include int _stdcall RGBATORGB(char *dest, char *src, unsigned int len);int fun1();int g_1 = 10;int main(){ char *Src="abcdefghijklmnoabcdefghijklmnoabcdefghijklmnoabcdefghijklmno"; char Dst[64]={0}; u原创 2011-04-05 12:50:00 · 1208 阅读 · 0 评论 -
BHM 文件格式
BHM File Format readmeThe BHM file format was created by Scali and Samuel R�dal in 2003. At the time they were both involved in the demoscene group Bohemiq, which is where the BHM file format got its name from.The goal was to create a file format which cou原创 2011-03-26 15:48:00 · 1552 阅读 · 0 评论 -
位操作技巧实例大全
你想要的位操作技巧转载 2010-07-20 19:54:00 · 6757 阅读 · 0 评论 -
[原创]《柔性字符串匹配》部分代码C实现
《柔性字符串匹配》作者: (美)Gonzalo Navarro Mathieu Raffinot 丛书名: 国外计算机科学教材系列出版社:电子工业出版社 本书是一本不可多得的字符串匹配方面的专业书籍。书中对串匹配问题进行了系统化的分类,从实际效果出发,着重详细介绍了串匹配领域内效果最好的若干种算法。并且给出了具有统一接口的算法伪码,使读者能清晰理解算法原理,易于实现算法编程,从而提高专业水平。此外,书中通过严谨的理论分析和大量实验数据,说明了每种算法在实际应用中的适用范围,由此提供了良好的应用指导,解决了原创 2010-07-20 20:05:00 · 1917 阅读 · 1 评论 -
初探 mpich2 + vc6.0包 + Win7 + 64位单机平台 命令行运行
最近突然对mpi感兴趣了,可啃了几天久攻不下,也郁郁了几天。。今天总算有所突破,,也算是入了mpi大门,嘿嘿原创 2010-07-25 13:30:00 · 6988 阅读 · 2 评论 -
初探 c/c++ 与 汇编 之间的交叉编译 命令行实现
<br />也不知道怎么了,最近想搞搞这个东西,嘿嘿,,可能觉得某些方面对速度要求不高的用c/c++就可以了且很方便,可对速度要求高的用汇编来实现也是个不错的选择。。而通常情况下,这两条都希望有,所以想到了交叉编译,当然写成DLL形式再接口调用也未尝不可,只是有时希望整合一下,嘿嘿。。。。罗嗦了吧,哈哈,下面开始吧。<br /> <br />说明:<br />1.调用约定<br /> 统一采用_stdcall方式压栈,通常用于Win32 Api中,函数采用从右到左的压栈方式, <br /> 自己在退出时原创 2010-07-26 11:44:00 · 2489 阅读 · 0 评论 -
在VC++中使用Flash界面
<br />http://program.sdoq.com/show/381最近的一个项目,想通过在VC中嵌入Flash的方式实现程序界面。以前曾经做过Flex的B/S项目,知道一些Flash和IE浏览器之间的工作方式。可是接触了以ActiveX方式实现的Flash编程时,自然而然想当然的走了很多的弯路。很多貌似很复杂的问题,在绕了很多的圈子之后才发现,原来实现起来往往只需要一行代码。项目还需进行,特意在此把心得记录下来。一、Flash同VC之间的数据通讯。同大多数的ActiveX控件一样,VC为Flash转载 2010-07-27 16:40:00 · 2042 阅读 · 0 评论 -
解决Windows 程序界面闪烁问题的一些经验
解决Windows 程序界面闪烁问题的一些经验一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个刷新周期内完成,那转载 2010-07-27 16:26:00 · 674 阅读 · 0 评论 -
金山词霸”屏幕取词技术揭密(讨论稿)
金山词霸”屏幕取词技术揭密(讨论稿) 这篇文章最早是发在北极星论坛的一系列帖子,那时候闻怡洋(好像他也是MVP)也在那里混原始的帖子我已经没有了,但不知道是谁帮我收集整理了下来(非常感谢),我用google找到了?这是我进金山之前写的,应该不算泄露公司技术秘密吧 而且这些现在看来似乎已经有些过时了?那时讨论的只是Win31和Win9x下的取词实现?我到了金山之后不是负责取词模块,而是做UI,因为有个家伙比我更擅长做这种东西他用SoftIce调试汇编代码非常熟练,做逆向工程方面有过人的天分。??“亦东” 是我转载 2010-07-27 16:33:00 · 850 阅读 · 0 评论 -
windows下的api hooking技术
<br />API Spying Techniques for Windows 9x, NT and 2000<br /><br />Yariv Kaplan<br /><br />API spying utilities are among the most powerful tools for exploring the inner structure of applications and operating systems. Unfortunately, neither the SDK nor th原创 2010-07-30 20:12:00 · 2444 阅读 · 0 评论 -
mpich2 + windows 环境 DIY
<br />现在又有必要用这个东东了,不仅仅是在集群环境下,当前的CPU多核已相当普遍,你会问用mpich2会不会提高效率呢?<br />好的,我也想知道,从mpich2中的一个自带的pi计算程序(定积分的方法)看看在我的Intel Core(TM) 2 Duo CPU 上是否有效率提升。<br /> <br />好的,先找到mpich2的包,google一个mpich2,第一个就是,呵呵,说明很潮地http://www.mcs.anl.gov/research/projects/mpich2/<br />原创 2010-11-27 20:52:00 · 10470 阅读 · 0 评论 -
windows下使用pthread库
最近在看《C++多核高级编程》这本书,收集了些有用的东西,方便在windows下使用POSIX标准进行Pthread开发,有利于跨平台。--------------------------------------------------windows下使用pthread库时间:2010-01-27 07:41来源:罗索工作室 作者:落鹤生 点击:1220次我听很多人都说pthreads对Windows的兼容性不好,但我又没用过,也根本不知道到底好,还是不好,只不过我看ffmpeg都有在用pthreads,而原创 2010-11-20 17:30:00 · 27509 阅读 · 2 评论 -
mpg123 1.13.1 调用测试
mingw +msys./configuremakemake install----------------------------------得到 libmpg123.a---------------------------------可看行编译/doc/examples中的代码特别是mpg123_to_wav.c关键函数:mpg123_read( mh, buffer, buffer_size, &done );用于将mp3解码出PCM数据PCM数据大小为buffer_size(建议大小),实际送入bu原创 2011-01-09 17:56:00 · 4796 阅读 · 1 评论 -
FFT二分蝶计算
G-Spider @2011void butterfly(unsigned int l,int flag){ //flag=1 ,fft //flag=-1,ifft unsigned int i,j,r,tmpi,m1,m2,m3,m4,m5,N,N0,k1,k2; double N_1,u,v,tmptheta; N=(unsigned int)1 N0=N>>2; N_1=1.0/(double)N; tmptheta=_2PI*N_1; if(flag=原创 2011-02-24 20:53:00 · 1345 阅读 · 0 评论 -
BrainFuck语言一个58行的解释器
BrainFuck语言的一个官方解释器:<br /><br />BrainFuck语言,是一种按照“Turingcomplete”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainFuck语言只有八种符号,所有的操作都由这八种符号的组合来完成。<br /><br />BrainFuck基于一个简单的机器模型,除了八个指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。<br /><br转载 2011-02-25 10:43:00 · 4488 阅读 · 0 评论 -
Parallel Studio 2011 中的Intel c++ 命令行
@echo offrem call "D:/Microsoft Visual Studio 10.0/VC/bin/VCVARS32.BAT"call "C:/Program Files/Intel/Parallel Studio 2011/ips-vars.cmd"icl /c /o3 fftsg_h.c currTime.cicl /c /o3 test_speedFFT.cppxilink /subsystem:console test_speedFFT.obj fftsg_h.obj currTim原创 2011-02-25 13:12:00 · 3195 阅读 · 0 评论 -
IPP 的FFT测试
double双精度型复数fft测试#include #include #include #include /* Maximum value that can be returned by the rand function. */#ifndef RAND_MAX#define RAND_MAX 0x7fff#endifint main() { double t0; unsigned int myOrder,myLength,n; int myBufferSize; Ipp8u *my原创 2011-02-25 15:06:00 · 7394 阅读 · 1 评论 -
FSINCOS指令
用在FFT中还是不错的。FSINCOS D9 FB 设置C1,C2 (C0,C3 未定义) SinCos函数: ST(0)←sine(ST(0)),PUSH cosine(ST(0))============================================================ .386 .model flat,stdcall option casemap:none.data ConsPi_180 real8 0.017453292519943295769.code;-----原创 2011-02-22 13:27:00 · 2623 阅读 · 0 评论 -
Go 1.6 release party
What's happening?To celebrate the release of Go 1.6 we're organising a world wide release party on February the 17th, 2016.转载 2016-02-02 23:08:12 · 804 阅读 · 1 评论