杂乱笔记

简介: 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
==========================================================================
相关文章
|
人工智能 Kubernetes 监控
Kubernetes 故障诊断 AI 助手
【10月更文挑战第6天】
397 1
|
8月前
|
人工智能 安全 Linux
安全体检 | 服务器的终极卫士
阿里云的安全体检是为用户提供的一项免费安全检测工具,旨在通过调用云安全中心和配置审计中的安全检测能力,汇总检测结果,涵盖病毒攻击、风险配置和服务器漏洞三方面。该服务帮助用户及时发现并解决潜在的安全问题,提升云上安全水平。与云服务诊断不同,安全体检更侧重于深层次的安全检测,确保服务器的安全稳定运行。
安全体检 | 服务器的终极卫士
|
机器学习/深度学习 人工智能 自然语言处理
AI在创造还是毁掉音乐?——探索人工智能对音乐创作的影响
在当今数字化时代,人工智能(AI)技术的快速发展不仅改变了我们的生活方式和工作方式,也在音乐创作领域引发了广泛的讨论和热议。最近,随着各类音乐生成AI模型的涌现,人们开始探讨AI在音乐创作中的作用,以及它对传统音乐产业的潜在影响。
952 5
|
Java API 数据库
使用Spring Boot构建RESTful API
使用Spring Boot构建RESTful API
|
前端开发
前端 CSS 经典:保持元素宽高比
前端 CSS 经典:保持元素宽高比
259 0
|
Linux 芯片 Ubuntu
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
|
Linux 网络架构
通过route , tracert , traceroute 查看本地路由配置及访问ip或域名时经过的路由信息
通过route , tracert , traceroute 查看本地路由配置及访问ip或域名时经过的路由信息
3622 2
|
存储 算法 NoSQL
|
安全 Java
【Java|多线程与高并发】CAS以及ABA问题
CAS(Compare and Swap,“比较和交换”)是一种并发编程中常用的原子操作,用于解决多线程环境下的数据竞争和并发访问问题。