自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知识-精神的力量

博学-审问-慎思-明辨-力行

  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 WAV文件的读写

wav文件比snd文件多了个头=======》可以说,wav文件去掉头,就是snd文件了以下便是wav文件的读写代码:(按着结构体顺序解析即可)#ifndef _WAVREAD_H#define _WAVREAD_H#ifdef __cplusplus extern "C" { #endif #include "stdafx.h"#include typed

2016-09-06 14:09:10 4885

转载 uint8_t / uint16_t / uint32_t /uint64_t数据类型

这些数据类型是 C99 中定义的,具体定义在:/usr/include/stdint.h    ISO C99: 7.18 Integer types /* There is some amount of overlap with as known by inet code */ #ifndef __int8_t_defined # define __int8_t_defined t

2016-09-05 11:22:21 682

原创 项目中简单的程序添加

1.windows的相对路径和绝对路径变更例:E:/vs2010/test.cpp   变成  E://vs2010//test.cppchar * ChangePath(char *dst, const char *src){ char *ret = dst; while ((*dst++ = *src++) != '\0') { if (*src == '\\')

2016-08-31 17:36:43 381

转载 到底什么样的程序员算全栈程序员

       与其他互联网热词一样,”全栈“程序员也是英译过来的,英文全文是:Full-Stack Developer,你想啊,中国人民怎么会用客栈的栈、堆栈的栈来形容工程师呢?  谈论一个概念,首先得给伊个定义,一般来说,全栈工程师就是指技术多面手,掌握多种技能,能够独立完成 non-trivial application 的人。non-trivial 怎么解呢?就是有一定复杂度的,

2016-08-22 13:17:23 1083

转载 多线程(二)

1.最基础,进程同时创建5个线程,各自调用同一个函数#include iostream>  #include pthread.h> //多线程相关操作头文件,可移植众多平台    using namespace std;    #define NUM_THREADS 5 //线程数    void* say_hello( void* args )  {      cout  "

2016-08-19 11:10:40 363

原创 多线程(一)

在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率:l  并发l  异步l  缓存下面将我平常工作中遇到一些问题例举一二,其设计思想无非以上三点。1任务队列1.1    以生产者-消费者模型设计任务队列  生产者-消费者模型是人们非常熟悉的模型,比如在某个服务器程序中,当User数据被逻辑模块修改后,就

2016-08-19 10:40:41 260

转载 招聘面试程序员的一些心得

        最近雅虎北研解散的消息触动了各大互联网公司 HR 的神经。公司里一下子面试的任务多了起来。正好借机会总结一下自己毕业后作面试官以来参与若干场技术面试的一点心得,分享一下。       当好一个面试官其实也很不容易,不但要练就一双火眼金睛,把优秀的人才和水货在短短的面试的几十分钟里分辨出来,同时面试官本身就是候选人观察公司的一个窗口。在面试中,面试官还要注意很多接人待物的

2016-08-18 11:07:28 626

转载 MFC六大核心机制之一:MFC程序的初始化

简单的MFC窗口程序          设计一个简单完整MFC程序,产生一个窗口。      当然这不能让AppWizard自动为我们生成。我们可以在Win32 Application工程下面那样写:  #include class MyApp : public CWinApp { public: BOOL InitInstance()

2016-08-18 10:25:36 796

转载 GCC编程过程:预处理-编译-汇编-链接

在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。 一、GCC快速入门Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件.out我们来看一下经典入门程序"Hello World!"# vi hello.c #include #inc

2016-08-17 14:52:11 402

转载 GDB调试(一)

一.gdb常用命令:backtrace(或bt)                      查看各级函数调用及参数finish                                           连续运行到当前函数返回为止,然后停下来等待命令frame(或f)                              帧编号选择栈帧info(或i)

2016-08-17 14:12:42 357

转载 不要浪费开发时间:给初次创业的伙伴们的 6 个软件开发建议

初创公司因为产品定位还不明确,常常花一堆时间做好功能,却发现没人要用,浪费了宝贵时间。犯过这种错误几次之后,我们慢慢整理出一些比较有效的开发方法。这些方法帮我们省下很多开发时间,今天跟大家分享一下!一、别在一开始就想要流程全自动常常听到正要创业的团队担心“要是我们太受欢迎怎么办?”、“要是我们太红怎么办?”直觉的想法会是“当然要先做好准备再上线!”、“把系统做到全自动,

2016-08-17 13:25:01 595

原创 析构函数(一)

析构函数什么情况下要定义为虚函数?1.第一段代码#includeusing namespace std;class ClxBase{public: ClxBase() {}; ~ClxBase() {cout << "Output from the destructor of class ClxBase!" << endl;}; void DoSomet

2016-08-17 11:04:26 328

转载 内存管理(二)

1.关于动态申请内存的问题 出现率极高 程序的局部变量存在于(栈)中程序的全局变量存在于(静态存储区)中程序动态申请的数据存在于(堆)中 void GetMemory(char *p)  {      p = (char *)malloc(100);  }    void Test1(void)  {      char *str = NULL;

2016-08-15 11:51:39 284

转载 内存管理(一)

七、内存管理       在写C/C++程序的时候,最头疼的部分一定包括内存管理,一提到内存管理总是提心吊胆,但是又不可避免地常常会遇到,而这块的知识也是公司招聘的一个评价方面,能够很好地体现笔试面试者的功底。这部分的内容稍深一些,大家细心阅读,能对内存管理有一个比较好的把握。7.1 内存分配的方式       最长被问到的问题之一,基础中的基础。对C和C++而言,内存分配方式

2016-08-15 11:43:56 355

转载 游戏服务器体系结构

本文描述了一个我所设计的游戏服务器体系结构,其目的是实现游戏服务器的动态负载平衡,将对象从繁忙的服务器转移到相对空闲的服务器中.设计并没有经过具体的测试与验证,仅仅是将自己目前的一些想法记录下来.随着新构思的出现,可能会有所变化.  以下是服务器的逻辑视图,其中忽略了管理和监控模块  -------------------------------------------------

2016-08-12 15:48:32 413

转载 C++ Template(一)

1.模版(Template)    指C++程序设计设计语言中采用类型作为参数的程序设计。C++的标准库提供许多有用的函数大多结合了模版的观念,如STL和IO stream。2.函数模版3.类模版4.模版参数5.模板专门化6.模板类型转换

2016-08-12 11:34:52 393

原创 x&(x-1)

求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){    int countx = 0;    while(x)    {        countx++;        x = x&(x-1);    }    return countx;}

2016-08-12 10:43:52 410

原创 指针指向字符串

#include int main(){ char *p="breadfruit"; char *p1; p1=p; *(p1+3)='b'; printf("%s\n",p); return 0;}这程序什么地方不对?还有指针输出为什么用p而不是*p?如果把 char *p="breadfruit";改成char p[]="breadfruit

2016-08-12 09:38:20 649

原创 const指针

观点阐述一:const char* a说明a是个普通指针, 但是指向一个常量char,所以不能通过a来修改指向的charchar* const a说明a是个常量指针,不能改变a指向的目标,但是能通过a修改指向的char观点阐述二:1.指向常量的指针变量(指针变量是个名)const char*p不允许通过指针变量改变它指向的对象的值。例如:int =12 , int b

2016-08-11 23:26:14 296

原创 windows进程

一般将进程定义成一个正在运行的程序的一个实例,它由以下两个部分构成。1.一个内核对象,操作系统用它来管理进程。内核对象也是系统保存进程统计信息的地方。2.一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据。此外,它还包含动态内存分配,比如线程堆栈和堆的分配。

2016-08-09 17:43:50 285

原创 音乐的基本知识

音长是指声音的长短,它决定于发音体振动时间的久暂。发音体振动持续久,声音就长,反之则短。音长与音高、音色共同构成音乐的三要素。

2016-08-05 11:00:11 690

原创 动态链接库(一)

动态链接库(dynamic-link library, DLL)windows系统的基石。

2016-08-04 14:01:38 272

转载 MIDI文件(3)

MIDI是Musical Instrument Digital Interface的简称,意为音乐设备数字接口。它是一种电子乐器之间以及电子乐器与电脑之间的统一交流协议。midi是什么文件?MIDI文件是一种描述性的音乐语言,将所要演奏的乐曲信息用字节进行描述。譬如在某一时刻使用什么乐器,以什么音符开始,以什么音调结束,加以什么伴奏等,也就说MIDI文件本身并不包含波形数据,所以M

2016-07-31 17:02:55 915

转载 MIDI文件(2)

 1.概述:一个MIDI文件基本上由两个部分组成,头块和轨道块。第二节讲述头块,第三节讲述轨道块。一个MIDI文件有一个头块用来描述文件的格式、许多的轨道块等内容。一个轨道可以想象为像一个大型多音轨录音机那样,你可以为某种声音、某种乐谱、某种乐器或者你需要的任何东西分配一个轨道。2.头块:头块出现在文件的开头,有三种方式来描述

2016-07-31 16:57:34 1564

转载 win32开发

Win32程序开发与执行流程Winows程序分为源程序和资源两部分。源程序经由C/C++编译器生成.obj文件;资源部分经由RC编译器,读取RC文件的描述后,将所有资源文件集中制作出一个.res文件.res文件与.obj文件结合在一起,集成为一个完整的.exe可以执行文件,该文件才是一个完整的Windows应用程序.其开发与执行流程如图:win32程序开发与执行流程图应用源

2016-07-31 16:20:06 341

原创 原媒体SSE2的指令优化集

1.原型 mmintrin.hSSE的算术操作:每个指令操作的结果放在寄存器中。这些寄存器用R0-R3来描述,R1,R2,R3,R4分别表示结果寄存器中的4个32位。2.浮点型算术指令:_mm_add_ps(_m128a, _m128b) 返回为一个_128的寄存器,将寄存器a和寄存器b的对应位置的32bit单精度浮点数相加。_mm_add_ss(_m128a, _m128

2016-07-31 16:18:04 664

翻译 MIDI文件(1)

MIDI 文件属于二进制文件,这种文件一般都有如下基本结构: 文件头+数据描述文件头一般包括文件的类型,因为 Midi 文件仅以.mid 为扩展名的就有 0 类和 1 类两种,而大家熟悉的位 图文件的格式就更多了,所以才会出现文件头这种东西。而数据描述部份是主体,我们现在来一起分析它的结构:在每个 Midi 文件的开头都有如下内容,它们的十六进制代码为:“4d 54 68 64 00

2016-07-28 14:14:10 6802 1

原创 阐述问答题(C语言)

1.static全局变量与普通的全局变量有什么区别?static局部变量和普通的局部变量有什么区别?static函数与普通函数有什么区别?答:储存方式并无不同,区别:静态全局变量的作用域限于一个源文件内,只为该源文件内的函数公用。(一个源可以由多个源文件组成)。       局部变量-------->静态变量(改变存储方式即生存期)             全局变量-------->静

2016-07-27 17:20:48 469

转载 C/C++你还要走多远?

12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把

2016-07-25 14:20:03 495

原创 linux环境基础

1..bashrc这个文件主要保存个人的一些个性化设置,例如命令别名,路径等。也即在同一个服务器上,只对某个用户的个性化设置相关。

2016-07-22 13:28:40 231

原创 简单算法集合

1.用递归函数将数字转成字符串#include void foo(int *a, int n){ if (n) { putchar(*a + '0'); return foo(a + 1, n - 1); } }int main(void){ int

2016-07-22 11:20:16 328

原创 linux系统指令集

所有的成功都是站在巨人的肩膀上.....记录与分享。以后所遇到的问题,与解决问题的方法都将在此博上有所体现。1. 查看运行进程接口的命令  ps -ef |grep '要查询的命令'      kill要杀死的进程id

2016-07-22 10:01:00 484

原创 C语言实现Matlab自带的滤波filter()函数

1.y = filter(b, a, x); filter(x, y, length, a, b, nfilt);//length为x的大小,nfilt为滤波器的大小 void filter(const double* x, double* y, int xlen, double* a, double* b, int nfilt){ double tmp;

2016-07-21 15:55:31 8760 3

原创 matlab的函数conv()的C语言实现

1.用C语言实现matlab中conv()自带的函数int max(int a,int b){ return a>b ? a:b;}int min(int a, int b){ return a<b ? a:b;}void conv(double *Ptr_Src1,double *Ptr_Src2, int Src1Lenth, int Src2Lenth, double

2016-07-21 15:40:34 6746

翻译 Matlab获取矩阵的大小

1.numel():返回数组或者向量中所含元素的总数。K>> xx =   -0.0005   -0.0007   -0.0011   -0.0011   -0.0009   -0.0009   -0.0009   -0.0013   -0.0013   -0.0023K>> num = numel(x)num =    10

2016-07-20 10:35:51 7085

原创 Matlab取整函数

1.floor向下取整K>> floor(4.9)ans =     4

2016-07-20 10:25:39 390

原创 matlab一段音频取固定点数目

1.音频是一个一维的列矩阵2.取固定的点同时保存在txt文档中

2016-07-20 10:15:24 1106

原创 Matlab的函数效果<zeros>

1.zeros(10)ans =     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

2016-07-20 10:03:37 2258

翻译 回调函数

1.回调函数回调函数就是一个通过函数指针调用的函数,即函数的指针(地址)作为参数传给另一个函数时,指针被调用指向的函数。函数调用分两种:直接调用:在函数A的函数体内调用写的函数B的函数名(一般都这样)实现函数之间的调用。间接调用:在函数A的函数体内并没有函数B的函数名,而是通过指向函数B的函数指针Point*是属于B函数的代码片段在内存中得以执行。2.回调函数的存在原因

2016-06-23 16:18:43 293

原创 matlab使用小结

1.字符和数字之间的转换num2str()函数数字向字符转换;例如: a=num2str(3),得到a=‘3’str2num()函数字符向数字转换;例如: a=str2num('3'),得到a=32.函数所有的M文件都是脚本文件。当一个脚本文件被执行时,和直接在命令窗口中直接键入MATLAB语句所产生的结果是一样的。function [DAFx_out, wavout] =

2016-06-23 13:50:06 372

300道C++题目

针对c++知识点的数种小问题,适应查漏补缺

2014-03-11

C++入门经典 第3版

C++入门经典,一本教材,包过c++的基本知识点

2014-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除