易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : c

c/c++ 静态变量 一个实例

#include <iostream>
#include <cstdlib>
using namespace std;
class Foo
{
public:
Foo(int ii):i(ii){}
int getInt(){return i;}
private:
int i;
};
class Bar
{
public:
static int FooVal(){c++; return f.getInt();}
int callsFooVal(){return c;}
private:
static int c;
static Foo f;
};
int Bar::c=0;
Foo Bar::f(9);
int main()
{
Bar b;
cout<<Bar::FooVal()<<endl;
cout<<b.callsFooVal()<<endl;
cout<<Bar::FooVal()<<endl;
cout<<b.callsFooVal()<<endl;
cout<<Bar::FooVal()<<endl;
cout<<b.callsFooVal()<<endl;
system("PAUSE");
return 0;
}
......

c/c++ 静态变量 一个实例

#include <iostream>
#include <cstdlib>
using namespace std;
class Foo
{
public:
Foo(int ii):i(ii){}
int getInt(){return i;}
private:
int i;
};
class Bar
{
public:
static int FooVal(){c++; return f.getInt();}
int callsFooVal(){return c;}
private:
static int c;
static Foo f;
};
int Bar::c=0;
Foo Bar::f(9);
int main()
{
Bar b;
cout<<Bar::FooVal()<<endl;
cout<<b.callsFooVal()<<endl;
cout<<Bar::FooVal()<<endl;
cout<<b.callsFooVal()<<endl;
cout<<Bar::FooVal()<<endl;
cout<<b.callsFooVal()<<endl;
system("PAUSE");
return 0;
}
......

C/C++单元测试理论精要(七)

2.2 解决可测性问题
    上一节具体分析了可测性问题,接下来,我们来看看如何解决这些问题。下图中,彩色的部分是需要解决的可测性的具体的问题。
   
与其他代码隔离
    为了提高效率,应该一次性将一位工程师负责的测试任务隔离出来。隔离时,应把源文件分为三类:被测文件,外围文件,其他文件。被测文件是测试目标,外围文件是指与被测文件关联密切的底层或相关文件,这些在测试时最好直接调用实际代码,减少打桩造成的失真,其他文件则完全隔离。
   
    
    
    上图是隔离测试任务的示意界面,只要将要测试的文件设为T,不需要测试或者是别的工程师负责测试,但可能需要实际调用的文件设N。其他文件是缺省的X,工具会视需要自动打桩。这样就将测试任务一次性隔离出来了,现在,不管原来的项目多大,测试任务都可以独立编译运行。
解决编译差异和平台差异
    跨平台单元测试,例如在PC上测试嵌入式项目,或在windows上测试Linux项目,由于编译环境可能不同,代码中通常会出现一些非标准的特殊关键字,以及数据 ......

C/C++单元测试理论精要(七)

2.2 解决可测性问题
    上一节具体分析了可测性问题,接下来,我们来看看如何解决这些问题。下图中,彩色的部分是需要解决的可测性的具体的问题。
   
与其他代码隔离
    为了提高效率,应该一次性将一位工程师负责的测试任务隔离出来。隔离时,应把源文件分为三类:被测文件,外围文件,其他文件。被测文件是测试目标,外围文件是指与被测文件关联密切的底层或相关文件,这些在测试时最好直接调用实际代码,减少打桩造成的失真,其他文件则完全隔离。
   
    
    
    上图是隔离测试任务的示意界面,只要将要测试的文件设为T,不需要测试或者是别的工程师负责测试,但可能需要实际调用的文件设N。其他文件是缺省的X,工具会视需要自动打桩。这样就将测试任务一次性隔离出来了,现在,不管原来的项目多大,测试任务都可以独立编译运行。
解决编译差异和平台差异
    跨平台单元测试,例如在PC上测试嵌入式项目,或在windows上测试Linux项目,由于编译环境可能不同,代码中通常会出现一些非标准的特殊关键字,以及数据 ......

【Java网络编程一】一个简单的c/s程序

实验要求:
1.编写基于TCP协议的通信程序,包括Server与Client两个部分。实现回声程序:即客户端发送消息,服务器端将收到的消息原样会送给客户端。
2.在单机上运行它们,验证其通信结果;
3.在多机上运行它们,验证其通信结果;(ChatServer只需运行在一台主机上,ChatClient可在其它主机上运行(要知道ChatServer所在主机的IP地址)。
4.提示:服务器端回送消息时,可以进行加工,例如给每个收到的消息加上“服务器回送”+原始消息+服务器端收到消息的时间;
5.客户端可以从4字节数据开始发送,逐渐增大数据量,观察从少量数据的发送到大量数据的发送,时间性能的变化,记录每次发送数据所需时间,利用excel制作曲线图(该部分实验可选)
源码:
服务器端:
package tcpipchapter3;
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class server {
 /**
  * @param args
  */
 //设置端口号\
 public static int portNo=3333;
 public static void main(String[] args) throws IOException {
  // TODO Auto-generated method stub
......

【Java网络编程一】一个简单的c/s程序

实验要求:
1.编写基于TCP协议的通信程序,包括Server与Client两个部分。实现回声程序:即客户端发送消息,服务器端将收到的消息原样会送给客户端。
2.在单机上运行它们,验证其通信结果;
3.在多机上运行它们,验证其通信结果;(ChatServer只需运行在一台主机上,ChatClient可在其它主机上运行(要知道ChatServer所在主机的IP地址)。
4.提示:服务器端回送消息时,可以进行加工,例如给每个收到的消息加上“服务器回送”+原始消息+服务器端收到消息的时间;
5.客户端可以从4字节数据开始发送,逐渐增大数据量,观察从少量数据的发送到大量数据的发送,时间性能的变化,记录每次发送数据所需时间,利用excel制作曲线图(该部分实验可选)
源码:
服务器端:
package tcpipchapter3;
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class server {
 /**
  * @param args
  */
 //设置端口号\
 public static int portNo=3333;
 public static void main(String[] args) throws IOException {
  // TODO Auto-generated method stub
......

c 语言中的传值与传引用


#include<stdio.h>
int cubeByValue(int n);
int main(){
    int number = 5 ;
    printf("The original value of number is %d\n",number);
    number = cubeByValue(number);   
    printf("The new  value of number is %d\n",number);
    return 0;
}
int cubeByValue(int n){
    return n*n ;
}
#include<stdio.h>
void cubeByReference(int *nPtr);
int main(){
    int number = 5 ;
    printf("The original value of number is %d\n",number);
    cubeByReference( &number );
    printf("The new value of number is %d\n",number);
    return 0;
}
void cubeByReference(int *nPtr){
    *nPtr = *nPtr * *nPtr ;
}
......

C中全局变量和函数声明的认识

在C中可以定义全局变量,全局变量是在程序加载初始化时分配空间并进行初始化。在c代码中定义/声明全局变量的方式如下
1. int n;
    定义或者声明(如果在其他文件中已定义)全局变量。
2. int n = 10;
    定义全局变量并初始化。
3. extern int n;
    声明在外部定义的全局变量。
4. static int n;
    定义静态全局变量
5. static int n = 10;
    定义全局变量并初始化
注意:同一变量名在相同作用域内不能定义两次,否则在link是报错。
在C中可以声明函数,格式如下
1. void display();
    声明文件内部或者文件外部函数。
2. extern void display();
    声明文件外部函数。
3. static void display();
    static关键字对函数声明没什么效果,等同于void display();
注意:C中定义函数时可以添加static关键字,使其成为静态函数。静态函数只可在当前文件调用。反之没有添加static关键字的函数为非静态函数,可以在当前文件和其他文件调用。 ......

C中的可变参数研究

C中的可变参数研究
一. 何谓可变参数
int
printf( const char* format, ...);
这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中
就有固定参数format和可变参数(用”…”表示). 而我们又可以用各种方式来调用printf,如:
printf("%d",value);

printf("%s",str);
printf("the number is %d ,string is:%s",
value, str);
二.实现原理
C
语言用宏来处理这些可变参数。这些宏看起来很复杂,其实原理挺简单,就是根据参数入栈的特点从最靠近第一个可变参数的固定参数开始,依次获取每个可变参数
的地址。下面我们来分析这些宏。在VC中的stdarg.h头文件中,针对不同平台有不同的宏定义,我们选取X86平台下的宏定义:
typedef
char *va_list;
/*把va_list被定义成char*,这是因为在我们目前所用的PC机上,字符指针类型可以用来存储内存单
元地址。而在有的机器上va_list是被定义成void*的*/
#define _INTSIZEOF(n) ( (sizeof(n) +
sizeof(int) - 1) & ~(sizeof(int) - 1) )
/*_INTSIZEOF(n)宏是为了考虑那些内存
地址需要对齐的系统,从宏的名字来应该是跟sizeof(int)对齐。一般的 ......
总记录数:2015; 总页数:336; 每页6 条; 首页 上一页 [61] [62] [63] [64] 65 [66] [67] [68] [69] [70]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号