linux下C语言编程如何判断一个程序是否运行成功 (结果是一个界面) ?

linux下C语言编程如何判断一个程序是否运行成功 (结果是一个界面) ?,第1张

其实这个问题很简单,不管你用什么语言编写程序,尤其是做应用方面的程序,其表现是相同的;对于判定一个程序是否运行成功主要是输入和输出,因为任何程序都要和输入输出打交道,否则程序便没有意义,这里讲的输入和输出是广义的;伴随输入输出,有以下几个方面可以作为判定:

1:明确的输入、输出,比如输入输出数据;

2:进程序列;

3:如有图形界面,当如有图形界面未必表示运行成功;

最后:你需要几个因素综合考虑,你写C语言程序,可以使用调试工具(gdb)跟踪

;写程序需要慢慢积累经验;当然灵感很重要!

#include <stdio.h>

static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,

unsigned int *ecx, unsigned int *edx)

{

/* ecx is often an input as well as an output. */

asm volatile("cpuid"

: "=a" (*eax),

"=b" (*ebx),

"=c" (*ecx),

"=d" (*edx)

: "0" (*eax), "2" (*ecx))

}

int main(int argc, char **argv)

{

unsigned eax, ebx, ecx, edx

eax = 1/* processor info and feature bits */ native_cpuid(&eax, &ebx, &ecx, &edx)

printf("stepping %d\n", eax &0xF)

printf("model %d\n", (eax >>4) &0xF)

printf("family %d\n", (eax >>8) &0xF)

printf("processor type %d\n", (eax >>12) &0x3)

printf("extended model %d\n", (eax >>16) &0xF)

printf("extended family %d\n", (eax >>20) &0xFF)

}

内存和cpu是硬件的概念,在程序中只有被映射后的内存线程/进程的概念,具体如何调度程序的内存地址和线程/进程的挂起和运行都是 *** 作系统来做的。使用gdb能够查看当前程序各个变量的内存数据内容此时的内存地址对程序员来说是没什么用的(除非是做硬件开发,可能会需要),gdb还能够查看当前程序中那些线程被挂起或正在运行,但查询不到当前线程在哪个cpu上运行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8786719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存