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上运行。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)