• 摘要视图
  • 目录视图

c language

轻量级C#编译器

由于Visual Studio 系列的正统编译器对系统资源消耗过大,性能稍差的机子跑起来会很卡,新换系统后没敢装,但有时又要写点简单的C#代码,怎么办?经过搜寻,发现了一款名为Snippet Compiler的轻量级C#编译器。

Snippet Compile的优点与不足

优点

Effective C++ 学习笔记

1. C++编程范型

Programming Paradigms,也就是编程的风格和模式

  • Procedural-based,面向过程编程
  • Object-based,基于对象
  • Object-Oriented,面向对象编程
  • Generics,范型编程
  • Template MetaProgrammin[……]

    >> 阅读全文…

C++计时的几种方法总结及例程

程序中经常会用到计时,下面总结了常见的几种计时方法,包括clock()、time()、GetTickCount()、QueryFrequencyCount(),使用的方法大致一致,符合下面的规范。通过在代码开始和结束处分别获得某个计数值,计算(计数值差值/计数的频率)获得代码的执行时间。

start[......]

>> 阅读全文...

C++线程同步总结(笔记)

主要有四种方式:临界区(CRITICAL_SECTION)、互斥对象(Mutex,Mutual Exclusion)、事件对象(Event)、信号量(Semaphore)

其中临界区效率最高,但只能实现本进程内的线程同步。其它三个可以实现多个进程内的线程同步。信号量功能最强大可实现线程互斥也可以用[……]

>> 阅读全文…

C\C++ static用法

预备知识

变量分类:

按作用域分: 局部变量;全局变量
按生存周期分:动态变量;静态变量

名称
定义
按定义位置的称谓

局部变量
函数内定义的变量
内部变量

全局变量
函数之外定义的变量
外部变量

名称
定义
说明

动态变量
声明为auto的变量[auto默认省[……]

>> 阅读全文…

C\C++标准及各编译器的支持情况

C语言关键字(32+)

基本的有32个保留关键字(Reserved Keywords),后续的C99和C11标准又增添了一些关键字。

32个保留关键字(C89)

char short int unsigned
long float double struct
union void enum signed
const volatile typedef auto
register static extern break
case continue default do
else for goto if
return switch while sizeof

注意: sizeof是关键字,而不是函数或者宏

C99标准新增关键字

_Bool _Complex _Imaginary inline restrict

_Bool与C++中的bool类型相同,值为0或1,定义在<stdbool.h>中

_Complex和_Imaginary用于定义复数类型。

inline与C++中的inline相同,内联支持。

restrict用于修饰指针。

C11标准新增关键字

_Alignas _Alignof _Atomic _Generic
_Noreturn _Static_assert _Thread_local

主要来源:维基百科“C语言”

[……]

>> 阅读全文…

C++数制转换

十进制转换成n进制

这里n的范围是(1,9],将十进制转化成n进制的思路就是 循环求模、相除
实现代码如下

//将十进制 dec 转换成 n 进制,结果存在 other中,other在外部分配内存
void dec2other(int dec, char *other, int n)
{
    a[......]

>> 阅读全文...

C++播放声音总结

程序中经常要用到声音,无论是简单的“滴答”,还是一小段乐谱,或者是一首CD。下面就总结一下目前我所知道的C++播放声音的方法。

1.播放系统消息声音

在平时使用Windows系统的时候,会经常遇到系统的提醒、警告、错误声音。这种使用MessageBeep实现。函数原型如下

BOOL WINAPI M[......]

>> 阅读全文...