linux模拟windows的kbhit
Windows有个很不错的函数kbhit,可以检测是否有任何键按下了。例如我们可以检测键按下,来退出一个无限循环。还可以得到用户按下的这个键。
但是linux默认是没有这个函数的,我们可以使用下面自定义的函数来实现这个功能。
实现的原理就是将阻塞模式的stdin改为非阻塞模式,然后尝试读取,读的时候有东西则按下了键,否则没有。
int kbh… 更多... “linux模拟windows的kbhit”
IT夜班车
Windows有个很不错的函数kbhit,可以检测是否有任何键按下了。例如我们可以检测键按下,来退出一个无限循环。还可以得到用户按下的这个键。
但是linux默认是没有这个函数的,我们可以使用下面自定义的函数来实现这个功能。
实现的原理就是将阻塞模式的stdin改为非阻塞模式,然后尝试读取,读的时候有东西则按下了键,否则没有。
int kbh… 更多... “linux模拟windows的kbhit”
我们知道使用
printf("test \n");
这样只能输出一行。而我们看到过很多程序,启动后程序占满整个控制台窗口,这是怎么做到的呢?
原理就是先清掉整个整个屏幕
system( "clear");
让后画满整个屏幕
这个也是通过
printf()
这个函数实现。
然后
画完一屏之后,
再次调用 system("clear&qu… 更多... “linux 用c程序写整个控制台”
c++出新标准了,c++11或者是c++0x
那么怎么测试你的编译器是否支持这些特性呢?
新建一个文件,main.cpp。然后敲入下面代码:
#include<iostream> using namespace std; int main( int argc, char** argv ) { auto fn = []( int a, int b ){ return a + b; }; int c = fn( 2, 3 ); cout<<"res… 更多... “测试你的编译器是否支持c++0x(c++11)”
在开始介绍如何使用sftp之前,先简单说明一下sftp和ftps不是一回事情,很多人把这2个协议搞混了,有人还把Filezilla配置ftps来说明怎么利用filezilla如何配置sftp。其实filezilla服务端是不支持sftp协议的,客户端支持。
我们ftp不是一个安全的协议,其发送的内容很都是以明文的方式发送,包括用户名,密码还有文件内容。因此后来又引入了 secure ftp,就是安全的f… 更多... “利用sftp来上传你的文件”
口号:一次编码,到处编译! :-)
一次编码,在 vc7.1 , vi 甚至ulteredit 上完成编码。
到处编译,将写好的代码 copy 到其它操作系统,也能够编译运行,而不用去修改哪怕一行代码。
听起来是不是象 SUN 的口气,呵呵。 其实 c++ 的移植性个人认为是超过 java 的,java之所以名声在外的原因 B.S 说得很明了:厂商利益。
呵,废话不多说,进入主题。
要建立一个c++跨平台的应用,亦难也易。
难在什么… 更多... “用c++写扩平台程序”
这里说的工具都是针对与C/C++的。
1. vld
这个工具只是针对visual studio,免费的。
官方网站:
http://vld.codeplex.com/
2. valgrind
适合linux和mac os, 是open source的。
官方网站:
http://valgrind.org/
好文介绍:
http://www.cnblogs.com/napoleon_liu/articles/2001802.htm… 更多... “检查内存泄漏的工具”
编程快5年了, 今天才算对extern “C” 有个较为清晰的认识. 本人对extern “C”的认识可以分为三个阶段:
1. 从别人的代码里面看到有这个东西, 自己不认识, 就上网查查, 大概明了它是什么意思.
2. 看到别人的代码里面包含用c写的代码就用extern “C”, 那么自己依葫芦画瓢用c代码的时候也加这个东西. 自己感觉对这个东西很熟悉了… 更多... “我来理解extern “C””
两者之间相互转换有2套函数可以利用
c运行时库: wcstombs mbstowcs
windows API: MultiByteToWideChar WideCharToMultiByte
函数不用解释, 看字面意思就可以. 下面列出使用案例:
c运行时库:
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
int … 更多... “多字节与unicode之间的转换”
在实际开发中发现有时自己开发的程序使用率非常的高, 以致于影响到机器上其他程序的正常运行. 这时我们该怎么办呢?
首先应该想到的, 也是最佳解决方法是找到进程中使用cpu最多的那个线程( 怎样找到cpu使用最多的线程, 暂不在这里讨论 ), 然后进行优化它. 当然还有另外一种就是限制程序的cpu使用率的峰值. 当进程的使用率达到限定的峰值时, 就让他睡眠 sleep… 更多... “查看某个进程和线程的cpu使用率”
开发中有时碰到要去获取计算机的锁定和解锁事件, 然后在决定在锁定前程序要作些什么, 解锁后程序要作些什么. 如锁定解锁后3D的设备组件会Lost也就是变为无效,需要重新获取, 否则3D不会得到刷新.
那么我们要怎么做呢?
可以用RegisterSessionNotification 和UnRegisterSes… 更多... “获取windows系统锁定和解锁计算机事件”