
第一个问题正如你所说的,第二个问题debug与release的区别就是debug版本里面会有很多的调试信息,因此生成的程序会比较大,而release的程序里面就没有那些调试信息,因此就比较小,因此也不好调试
关键在于你申明的变量没有进行初始化,也就说这句:
AAA a[10];
这时,变量A里面各个结构体的成员变量取值都是不确定,因此你可以看见debug版本和release版本打印出来的值是不同的。
注意:VC编译的debug版本程序,会为没有初始化的变量用特定的值来填充(参考这里:>
redhat系统可直接从文件中读取:cat /etc/redhat-release
windows:
GetUserName(LPWSTR lpBuffer, LPDWORD nSize);
lpBuffer是一个数组的地址,用来存贮得到的用户名,nsize是个指针,指向此存贮此数组大小的单元,就是数组能存贮的字符数量
GetVersionExW(LPOSVERSIONINFOW);
参数LPOSVERSIONINFO是一个指向OSVERSIONINFO类型变量的指针,
具体判断代码如下
定义 OSVERSIONINFO osvi;
然后调用函数取得版本号,判断如下
switch (osvidwPlatformId)
{
case VER_PLATFORM_WIN32_NT:
if (osvidwMajorVersion == 5&&osvidwMinorVersion == 0)
{
strOSVersion = TEXT("Windows 2000");
}
else if (osvidwMajorVersion == 5&&osvidwMinorVersion == 1)
{
strOSVersion = TEXT("Windows XP");
}
else if(osvidwMajorVersion == 6&&osvidwMinorVersion == 0)
{
strOSVersion = TEXT("Windows Vista");
}
else if (osvidwMajorVersion == 4&&osvidwMinorVersion == 0)
{
strOSVersion = TEXT("Windows NT");
}
break;
case VER_PLATFORM_WIN32_WINDOWS:
if (osvidwMajorVersion == 4&&osvidwMinorVersion == 10)
{
strOSVersion = TEXT("Windows 98");
}
else if (osvidwMajorVersion == 4&&osvidwMinorVersion == 90)
{
strOSVersion = TEXT("Windows ME");
}
else
{
strOSVersion = TEXT("Windows 95");
}
break;
default:
break;
}
新建一个工程就看得到了
不是什么选项卡,你看看有没有一个“配置”的文本右边是一个下拉框,写着“活动(Debug)”的,你改成Release,确认就可以了。
至于默认值是没办法改的,你每新建一个工程就得改一次,但是改过以后就不用了
release有什么好的,经过优化的代码可能导致出错,又不能调试,那是在做最后发布版本的时候才用到的,一般都用debug啊
以上就是关于二级考试C语言程序题没有把debug改为release运行不出会有分吗全部的内容,包括:二级考试C语言程序题没有把debug改为release运行不出会有分吗、C++ Debug版本和Release版本运行结果不同,为什么会这样、如何用C语言获取主机 *** 作系统的版本号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)