轻量级C#编译器
由于Visual Studio 系列的正统编译器对系统资源消耗过大,性能稍差的机子跑起来会很卡,新换系统后没敢装,但有时又要写点简单的C#代码,怎么办?经过搜寻,发现了一款名为Snippet Compiler的轻量级C#编译器。
Snippet Compile的优点与不足
优点
- 免安装,解压即可用[……]
Programming Paradigms,也就是编程的风格和模式
程序中经常会用到计时,下面总结了常见的几种计时方法,包括clock()、time()、GetTickCount()、QueryFrequencyCount(),使用的方法大致一致,符合下面的规范。通过在代码开始和结束处分别获得某个计数值,计算(计数值差值/计数的频率)获得代码的执行时间。
start[......]
主要有四种方式:临界区(CRITICAL_SECTION)、互斥对象(Mutex,Mutual Exclusion)、事件对象(Event)、信号量(Semaphore)。
其中临界区效率最高,但只能实现本进程内的线程同步。其它三个可以实现多个进程内的线程同步。信号量功能最强大可实现线程互斥也可以用[……]
按作用域分: 局部变量;全局变量
按生存周期分:动态变量;静态变量
名称
定义
按定义位置的称谓
局部变量
函数内定义的变量
内部变量
全局变量
函数之外定义的变量
外部变量
名称
定义
说明
动态变量
声明为auto的变量[auto默认省[……]
基本的有32个保留关键字(Reserved Keywords),后续的C99和C11标准又增添了一些关键字。
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是关键字,而不是函数或者宏
_Bool | _Complex | _Imaginary | inline | restrict |
_Bool与C++中的bool类型相同,值为0或1,定义在<stdbool.h>中
_Complex和_Imaginary用于定义复数类型。
inline与C++中的inline相同,内联支持。
restrict用于修饰指针。
_Alignas | _Alignof | _Atomic | _Generic |
_Noreturn | _Static_assert | _Thread_local |
主要来源:维基百科“C语言”
[……]
这里n的范围是(1,9],将十进制转化成n进制的思路就是 循环求模、相除
实现代码如下
//将十进制 dec 转换成 n 进制,结果存在 other中,other在外部分配内存
void dec2other(int dec, char *other, int n)
{
a[......]
程序中经常要用到声音,无论是简单的“滴答”,还是一小段乐谱,或者是一首CD。下面就总结一下目前我所知道的C++播放声音的方法。
在平时使用Windows系统的时候,会经常遇到系统的提醒、警告、错误声音。这种使用MessageBeep实现。函数原型如下
BOOL WINAPI M[......]