杂乱笔记

简介: 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
==========================================================================
相关文章
|
6月前
|
UED
Axure中继器实战篇:让数据展示和交互设计更上一层楼!
Axure中继器实战篇:让数据展示和交互设计更上一层楼!
138 0
|
算法 定位技术 C++
A* 算法详解(超级详细讲解,附有大图)
A* 算法详解(超级详细讲解,附有大图)
2648 0
|
9月前
|
存储 人工智能 算法
第七章 图【数据结构与算法】【精致版】
第七章 图【数据结构与算法】【精致版】
111 0
|
9月前
奇淫技巧系列第三篇:阅读源码时基于一组快捷键让我们知道身在何方!
奇淫技巧系列第三篇:阅读源码时基于一组快捷键让我们知道身在何方!
|
算法
零碎的算法笔记(1)
零碎的算法笔记(1)
84 0
|
算法框架/工具
|
算法
简单的讲懂KMP算法(配图最细保姆级手把手教会!!)
简单的讲懂KMP算法(配图最细保姆级手把手教会!!)
245 0
简单的讲懂KMP算法(配图最细保姆级手把手教会!!)
|
小程序 数据安全/隐私保护 计算机视觉
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
193 0
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
和12岁小同志搞创客开发:有意思的激光切割技术
和12岁小同志搞创客开发:有意思的激光切割技术
和12岁小同志搞创客开发:有意思的激光切割技术

热门文章

最新文章