杂乱笔记

简介: QT代码中运行Linux命令#include //QProcess::execute("echo 210 >/sys/class/backlight/pwm-backlight.

QT代码中运行Linux命令

#include <QProcess>

//QProcess::execute("echo 210 >/sys/class/backlight/pwm-backlight.0/brightness");

~~~

root@atlas7-arm:~# tty
/dev/ttySiRF1
root@atlas7-arm:~# echo "asdf" > /dev/console 
asdf
root@atlas7-arm:~# echo "asdf" > /dev/ttySiRF1 
asdf

~~~

原理:

首先确定终端从哪里输出的。

命令:tty

root@atlas7-arm:~# tty /dev/ttySiRF1

echo "asdf" > /dev/console   (这个Linux的,window是 CON

echo "asdf" > /dev/ttySiRF1 也是可以的。

所以代码里面用/dev/console 。

 

 因为文件指针使用的是标准流文件,因此我们可以不定义文件指针。
 接下来我们使用freopen()函数以只读方式r(read)打开输入文件 slyar.in  { freopen(" slyar.in", "r", stdin);}
 然后使用freopen()函数以写入方式w(write)打开输出文件slyar.out      {freopen("slyar.out", "w", stdout);}
 接下来的事情就是使用freopen()函数的优点了,我们不再需要修改scanf和printf,而是维持代码的原样就可以了。

 因为freopen()函数重定向了标准流,使其指向前面指定的文件。

 最后只要使用fclose关闭输入文件和输出文件即可。
 fclose(stdin);
 fclose(stdout);
详细如下:

所以我写了个宏:

 

?
#define START_SAVE_LOG(savedFilePath)\
     freopen ( "/dev/console" , "r" , stdin);\
     freopen (savedFilePath, "w" , stdout);
  
#define STOP_SAVE_LOG\
     fclose (stdin);\
     fclose (stdout);

 因为目前INFO宏是在Loger.h里面,所以这个宏也加在里面。

具体使用方法:

START_SAVE_LOG("/home/root/AA.log")

STOP_SAVE_LOG

?
//实际应用
  LogControl::getInstance()->addLog(string(to_string(i)+string(p)));
?
#define INFO(module,format, ...)                   \
     do {                                     \
         if (LogLevel >= INFO_LEVEL)        \
         {                                   \
             printf ( "\e[33m" );          \
             printf (module);          \
             printf (format, ##__VA_ARGS__);  \
             printf ( "\e[0m" );          \
             printf ( "\n" );          \
             fflush (stdout); \
         }                                   \
     } while (0)

==========================================================================

查看硬件信息:

查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。

复制代码
#cat /proc/cpuinfo
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 42
model name    : Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz
==========================================================================
相关文章
|
7月前
|
存储 缓存 Python
一些零碎的小知识点
一些零碎的小知识点
|
10月前
|
算法
零碎的算法笔记(1)
零碎的算法笔记(1)
44 0
|
11月前
|
算法框架/工具
|
uml 开发者 Windows
推荐5款冷门小工具,看一看有没有你喜欢的?
每个人的电脑中都会安装很多软件,可能还保留着很多不为人知的冷门软件。不过虽然冷门,但绝不意味着低能,相反很多冷门软件的功能十分出色。闲话少说,接下来我就给大家推荐5款冷门小工具,看一看有没有你喜欢的。
142 0
推荐5款冷门小工具,看一看有没有你喜欢的?
|
Java C语言
计算机教育中缺失的一课,劝学弟学妹们一句,一定要趁早补上,工作后会事半功倍!
各位学弟学妹们好,作为稍微年长的我(岁月是把杀猪刀啊),今天就给大家补补课。 在大学里的,我们上的计算机专业课程一般都是像操作系统、编译原理、计算机组成原理、计算机网络这些理论课程,还有一些像C语言、Java、.Net这些可以实践的课程,甚至还有可能让你焊一个收音机,但是对于一些基本习惯却很容易被忽略,需要学弟学妹们自行摸索。
176 0
计算机教育中缺失的一课,劝学弟学妹们一句,一定要趁早补上,工作后会事半功倍!
|
数据库
IO流Bug(记忆深刻的一课)
IO流死循环创建的文件夹无法删除,甚至在删除过程中导致 explorer.exe等 进程直接结束 只能强制重启
IO流Bug(记忆深刻的一课)
|
程序员 Android开发
阅读《安卓开发艺术与探索》部分记录(一)
最近遇到的烦心事很多,作为一名称职的安卓开发工程师,作为一名公司的正式员工,作为一名有理想的程序员。我觉得不能放弃对生活的希望,我必须得找些事情做,充实自己,然后在这些时间里,提升自己,待往后跳槽,让自己的身价翻一番! 我只记录了一些自己认为有用,并且细节的东西,如果大家没有看见你需要的东西,或者有所遗漏的完全可以提出来,不喜勿喷,这篇文章只是个人记录。
1075 0
|
算法
文本比较算法Ⅴ——回顾贴,对前面几篇文章的回顾与质疑
文本比较算法Ⅰ——LD算法   文本比较算法Ⅱ——Needleman/Wunsch算法   文本比较算法Ⅲ——计算文本的相似度   文本比较算法Ⅳ——Nakatsu算法   在写了本系列的前面几篇文章之后。
830 0