Tag Archives: C/C++

linux模拟windows的kbhit

linux模拟windows的kbhit

Windows有个很不错的函数kbhit,可以检测是否有任何键按下了。例如我们可以检测键按下,来退出一个无限循环。还可以得到用户按下的这个键。

但是linux默认是没有这个函数的,我们可以使用下面自定义的函数来实现这个功能。

继续阅读

利用sftp来上传你的文件

在开始介绍如何使用sftp之前,先简单说明一下sftp和ftps不是一回事情,很多人把这2个协议搞混了,有人还把Filezilla配置ftps来说明怎么利用filezilla如何配置sftp。其实filezilla服务端是不支持sftp协议的,客户端支持。

我们ftp不是一个安全的协议,其发送的内容很都是以明文的方式发送,包括用户名,密码还有文件内容。因此后来又引入了 secure ftp,就是安全的ftp协议,这其中包含了

继续阅读

用c++写扩平台程序

口号:一次编码,到处编译! :-) 

     一次编码,在 vc7.1 , vi 甚至ulteredit 上完成编码。

     到处编译,将写好的代码 copy  到其它操作系统,也能够编译运行,而不用去修改哪怕一行代码。

     听起来是不是象 SUN 的口气,呵呵。 其实 c++ 的移植性个人认为是超过 java 的,java之所以名声在外的原因 B.S 说得很明了:厂商利益。

继续阅读

我来理解extern “C”

编程快5年了, 今天才算对extern “C” 有个较为清晰的认识. 本人对extern “C”的认识可以分为三个阶段:

 

1. 从别人的代码里面看到有这个东西, 自己不认识, 就上网查查, 大概明了它是什么意思.

2. 看到别人的代码里面包含用c写的代码就用extern “C”, 那么自己依葫芦画瓢用c代码的时候也加这个东西. 自己感觉对这个东西很熟悉了.

继续阅读

多字节与unicode之间的转换

两者之间相互转换有2套函数可以利用

c运行时库:         wcstombs   mbstowcs 

 

windows API:  MultiByteToWideChar  WideCharToMultiByte

 

函数不用解释, 看字面意思就可以. 下面列出使用案例:

 

c运行时库:

#include <stdio.h>
#include <stdlib.h>

void main( void )
{
  int      i;
  char    *pmbbuf   = (char *)malloc( MB_CUR_MAX );
  wchar_t *pwchello = L”Hello, world.”;

继续阅读

查看某个进程和线程的cpu使用率

查看某个进程和线程的cpu使用率

在实际开发中发现有时自己开发的程序使用率非常的高, 以致于影响到机器上其他程序的正常运行. 这时我们该怎么办呢?

首先应该想到的, 也是最佳解决方法是找到进程中使用cpu最多的那个线程( 怎样找到cpu使用最多的线程, 暂不在这里讨论 ), 然后进行优化它. 当然还有另外一种就是限制程序的cpu使用率的峰值. 当进程的使用率达到限定的峰值时, 就让他睡眠 sleep( 0 ), 或者WaitForSingleObject. 注意这里提到的进程的cpu使用率其实进程中所有线程的cpu使用率的总和. 从这个意义上来说的话,其实限制某个进程的cpu使用率就是限制进程中线程的cpu使用率.

继续阅读

获取windows系统锁定和解锁计算机事件

获取windows系统锁定和解锁计算机事件   

开发中有时碰到要去获取计算机的锁定和解锁事件, 然后在决定在锁定前程序要作些什么, 解锁后程序要作些什么. 如锁定解锁后3D的设备组件会Lost也就是变为无效,需要重新获取, 否则3D不会得到刷新.

那么我们要怎么做呢?

继续阅读