使用cpu的rdtsc汇编指令:
成都创新互联服务项目包括襄州网站建设、襄州网站制作、襄州网页制作以及襄州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,襄州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到襄州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
#include stdio.h
int get_rdtsc() ...{
return asm("rdtsc");
}
这个函数可以获得cpu的时间戳,分辨率当然是cpu的主频, 如果cpu频率高的话, 27MHz的定时误差应该不是很大。但是, 你要输出和处理这个时钟信号产生的延迟也不太好控制,毕竟不是实时系统。。。。
vi 编辑器里。
先 按一下 ESC 退出,然后 按 : 键,然后输入 wq 保存并退出的意思,再打回车,即可退出编辑状态。
使用 gcc -o C源文件
即可编译。
1 29
lzbltx
2010-10-11 超过23用户采纳过TA的回答
关注
:wq是vi的编辑命令,vi编辑命令中“:”命令最后输入回车键执行。找一个LINUX入门的书,学习一下简单的vi命令就可以编辑程序了。
0果在命令行下使用gedit, 关闭程序窗口(一般先保存文件),就自动退到命令行界面。
如果在命令行下使用vim,先按下ESC退出编辑模式,然后输入:wq 保存并退出或者q退出或者q!强制退出,从而回到命令行界面。
扩展资料:
linux常见命令:
命令
apropos whatis 显示和word相关的命令。 参见线程安全
man -t man | ps2pdf - man.pdf 生成一个PDF格式的帮助文件
which command 显示命令的完整路径名
time command 计算命令运行的时间
time cat 开始计时. Ctrl-d停止。参见sw
nice info 运行一个低优先级命令(这里是info)
renice 19 -p $$ 使脚本运行于低优先级。用于非交互任务。
目录操作
cd - 回到前一目录
cd 回到用户目录
(cd dir command) 进入目录dir,执行命令command然后回到当前目录
pushd . 将当前目录压入栈,以后你可以使用popd回到此目录
文件搜索
alias l='ls -l --color=auto' 单字符文件列表命令
ls -lrt 按日期显示文件. 参见newest
ls /usr/bin | pr -T9 -W$COLUMNS 在当前终端宽度上打印9列输出
find -name '*.[ch]' | xargs grep -E 'expr' 在当前目录及其子目录下所有.c和.h文件中寻找'expr'. 参见findrepo
find -type f -print0 | xargs -r0 grep -F 'example' 在当前目录及其子目录中的常规文件中查找字符串'example'
find -maxdepth 1 -type f | xargs grep -F 'example' 在当前目录下查找字符串'example'
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done 对每一个找到的文件执行多个命令(使用while循环)
find -type f ! -perm -444 寻找所有不可读的文件(对网站有用)
find -type d ! -perm -111 寻找不可访问的目录(对网站有用)
locate -r 'file[^/]*\.txt' 使用locate 查找所有符合*file*.txt的文件
look reference 在(有序)字典中快速查找
grep --color reference /usr/share/dict/words 使字典中匹配的正则表达式高亮
归档 and compression
gpg -c file 文件加密
gpg file.gpg 文件解密
tar -c dir/ | bzip2 dir.tar.bz2 将目录dir/压缩打包
bzip2 -dc dir.tar.bz2 | tar -x 展开压缩包 (对tar.gz文件使用gzip而不是bzip2)
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' 目录dir/压缩打包并放到远程机器上
find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 dir_txt.tar.bz2 将目录dir/及其子目录下所有.txt文件打包
find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents 将目录dir/及其子目录下所有.txt按照目录结构拷贝到dir_txt/
( tar -c /dir/to/copy ) | ( cd /where/to/ tar -x -p ) 拷贝目录copy/到目录/where/to/并保持文件属性
( cd /dir/to/copy tar -c . ) | ( cd /where/to/ tar -x -p ) 拷贝目录copy/下的所有文件到目录/where/to/并保持文件属性
( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ tar -x -p' 拷贝目录copy/到远程目录/where/to/并保持文件属性
dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' 将整个硬盘备份到远程机器上
system("clr");
你这是c4droid环境吧,清屏命令应该是不起作用的。
使用putchar('\n');
USER —登录的用户名
TTY —登录后系统分配的终端号
FROM—远程主机名,即从哪儿登录来的
LOGIN@—何时登录
IDLE—空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置
JCPU—和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
PCPU—指当前进程(即在WHAT项中显示的进程)所占用的时间
WHAT—当前正在运行进程的命令行
例如:
user3 pts/39 192.168.0.5 07Jul13 2:11m 1.62s 1.58s ssh 10.1.1.2
user3用户2013年7月7日从IP 192.168.0.5登录到本机,终端号pts/39,已经2小时11分没有操作了,登录后其所有进程占用CPU时间1.62秒,当前执行的程序是ssh 10.1.1.2,占用CPU时间1.58秒
楼主的程序没有用 signal 注册 SIGPROC 对应函数,在 for 循环的时候可能已经发生了多次中断和重置计时器。至于比1秒大,手册中有解释 Timers will never expire before the requested time, but may expire some (short) time afterward, which depends on the system timer resolution and on the system load; see time(7).
要在1秒间隔调用一个函数,需要加上 signal,比如
#include signal.h
#include sys/time.h
#include stdio.h
#include time.h
static struct itimerval a;
void timeover( int event )
{
struct itimerval b;
printf( "timeover at %ld\n", time(NULL) );
getitimer( ITIMER_PROF, b );
printf( "sec = %ld, usec = %ld\n", b.it_value.tv_sec, b.it_value.tv_usec );
}
int main()
{
signal( SIGPROF, timeover );
printf( "begin at %ld\n", time(NULL) );
a.it_interval.tv_sec = 1;
a.it_interval.tv_usec = 0;
a.it_value.tv_sec = 1;
a.it_value.tv_usec = 0;
setitimer( ITIMER_PROF, a, NULL );
while(1);
return 0;
}