在测试
ConsoleRunner
的过程中发现一个有意思的现象,一段很简单的
C
程序:
#include <stdio.h>
#include <windows.h>
int main() {
int i = 0;
for (;;) {
printf("%d\n", i++);
Sleep(500);
}
return 0;
}
ConsoleRunner
竟然无法捕获其输出,如果把
Sleep
拿掉就行,或者如果改用
C++
的
cout
也行,很奇怪,怀疑是缓冲区的问题,上网查找,果然如此,见“
fflush(stdout)
的用途是什么(http://bbs.chinaunix.net/viewthread.php?tid=693309)”,程序中加上一行后,问题消失:
#include <stdio.h>
#include <windows.h>
int main() {
int i = 0;
for (;;) {
printf("%d\n", i++);
fflush(stdout);
&n ......
在测试
ConsoleRunner
的过程中发现一个有意思的现象,一段很简单的
C
程序:
#include <stdio.h>
#include <windows.h>
int main() {
int i = 0;
for (;;) {
printf("%d\n", i++);
Sleep(500);
}
return 0;
}
ConsoleRunner
竟然无法捕获其输出,如果把
Sleep
拿掉就行,或者如果改用
C++
的
cout
也行,很奇怪,怀疑是缓冲区的问题,上网查找,果然如此,见“
fflush(stdout)
的用途是什么(http://bbs.chinaunix.net/viewthread.php?tid=693309)”,程序中加上一行后,问题消失:
#include <stdio.h>
#include <windows.h>
int main() {
int i = 0;
for (;;) {
printf("%d\n", i++);
fflush(stdout);
&n ......
根据ACM官方网站3月9日发布的消息,2009年图灵奖授予了现代PC之父Charles Thacker,以表彰他对第一台现代个人计算机Xerox PARC Alto的先驱性设计与实现,还有在局域网(包括以太网)、多处理器工作站、窥探高速缓存一致性协议和平板PC等方面的重大发明和贡献(For the pioneering design andРrealization of the first modern personal computɥrthe Alto at Xerox PARC and seminal inventionɳ and contributions to local area networks (including the Ethernet), multiprocessor workstations, snooping cache coherence protocols, and tablet personal computers)。
ACM主席Dame Wendy Hall说,Charles Thacker是计算机系统领域最杰出的工程师之一。他的一个又一个成就对现代计算机技术产生了深远影响。
而Intel公司的研究中心副总裁Andrew Chien则表示,Charles Thacker的Alto设计已经具备了今天个人电脑的各种关键要素,为PC这个世界最具创造性而且惠及全球的产业奠定了基础。
Thacker的获奖使计算机体系架构方面的获奖次数增加到6次(不含主要贡献是操作系统的Brooks)。从获奖学科领域来看,编程技术和理论计算机科学还是大户,分别有12次和11 ......
C和C++语言学习总结(一)
知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题,函数参数的缺省
值问题,宏代码与内联函数区别
6、构造和析构的次序,String函数定义
具体实现:
1、if,for,switch,goto
if:
bool int float pointer char 变量的使用方法
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return 的使用方法
if(condition) 可以等价为 return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
执行效率问题:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) 效率低于 for(col=0;col <5;col++)
{ {
for(col=0;col <5;col++) for(row=0;row <100; ......
C和C++语言学习总结(一)
知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题,函数参数的缺省
值问题,宏代码与内联函数区别
6、构造和析构的次序,String函数定义
具体实现:
1、if,for,switch,goto
if:
bool int float pointer char 变量的使用方法
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return 的使用方法
if(condition) 可以等价为 return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
执行效率问题:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) 效率低于 for(col=0;col <5;col++)
{ {
for(col=0;col <5;col++) for(row=0;row <100; ......
文件
文件的基本概念
所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。
普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序; 也可以是一组待输入处理的原始数据,或者是一组输出的结果。对于源文件、目标文件、可执行程序可以称作程序文件,对输入输出数据可称作数据文件。
设备文件是指与主机相联的各种外部设备,如显示器、打印机、键盘等。在操作系统中,把外部设备也看作是一个文件来进行管理,把它们的输入、输出等同于对磁盘文件的读和写。通常把显示器定义为标准输出文件, 一般情况下在屏幕上显示有关信息就是向标准输出文件输出。如前面经常使用的printf,putchar 函数就是这类输出。键盘通常被指定标准的输入文件, 从键盘上输入就意味着从标准输入 ......
IIS无法访问asp!
解决办法!今天打开电脑发现IIS无法访问asp页面。
提示:Server Application Error 然后就有了下面的一段话。
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.
在网上查了查解决方案如下:
首先是asp程序,死循环,要求:看一下你的页面定义同名rs是不是太多了,比如Set rs=Server.CreateObject("ADODB.Recordset")
如果太多,有可能会服务器被所住,解决办法,
1、取不一样的名字,如Set rs1=Server.CreateObject("ADODB.Recordset")
Set rs2=Server.CreateObject("ADODB.Recordset")
2、把Set rs=Server.CreateObject("ADODB.Recordset")放在页面最顶部,每个都可以调用,把其他多余的删掉
或者:在页面中显式地释放资源:
rs.close
set rs=nothing
conn.close
set conn=nothing
1。右键我的电脑--管理--本地用户和组,给IUSR_机器名和IWAM_机器名两 ......
今天遇到一个asp程序,用ReWrite重写URL后,中文参数乱码,查资料后说是ReWrite所接收的参数自动转为UTF-8,而我的前台页面和数据库都为GB2312格式,后来在网上找了好久,终于找到一个能成功将UTF-8转换为GB2312的函数,函数转换代码如下
<%
function CodeConvert(fileContent)
dim stm
set stm=Server.CreateObject("adodb.stream")
stm.Type=2
stm.Mode=3
stm.Charset="GB2312"
stm.Open
stm.WriteText fileContent
stm.Position=0
stm.Charset="UTF-8"
CodeConvert = stm.ReadText
stm.Close
set stm=nothing
End function
%>
特此记录,希望对有需要的朋友给与帮助,也方便自己以后查看! ......