HttpClient缺陷引起的 无法连接到远程服务器 通常每个套接字地址只允许使用一次
上周又遇到了坑爹问题,具体表现为 服务端接口全部调用失败。
排查日志发现,有大量的 错误日志为
上周又遇到了坑爹问题,具体表现为 服务端接口全部调用失败。
排查日志发现,有大量的 错误日志为
|
|
类型 变量名[常量表达式];
//定义结构体类型
struct stStudent
{
int Age;
int Level;
}
//定义结构体变量
struct stStudent st;
//定义结构体数组
struct stStudent arr[10];
//或者
stStudent arr[10];
struct stStudent{
int Age;
int Level;
};
struct stStudent arr[5] = {{0,0},{1,1},{2,2},{3,3},{4,4}};
//或者
arr[0].Age=100;
arr[0].Level=100;
格式 :
……#include
char x;
short y;
int check()
{
x =1;
y=2;
return 0;
}
int main(int argc, char* argv[])
{
check();
system("pause");
return 0;
}
//上述代码中 check 函数的反汇编
13: x =1;
00401038 C6 05 E2 55 42 00 01 mov byte ptr [x (004255e2)],1
14: y=2;
0040103F 66 C7 05 E0 55 42 00 mov word ptr [y (004255e0)],offset check+26h (00401046)
//下面将y的类型改为 int
#include
char x;
int y;
int check()
{
x =1;
y=2;
return 0;
}
int main(int argc, char* argv[])
{
check();
system("pause");
return 0;
}
//上述代码中 check 函数的反汇编
13: x =1;
00401038 C6 05 E4 55 42 00 01 mov byte ptr [x (004255e4)],1
14: y=2;
0040103F C7 05 E0 55 42 00 02 mov dword ptr [y (004255e0)],2
我们发现,x跟y都是全局变量,但是它们的地址却不不是连续的.
……思考:
当需要一个容器能够存储1个字节,你会怎么做? //char
当需要一个容器能够存储4个字节,你会怎么做? //int
当需要一个容器能够存储100个2个字节的数据,你会怎么做? //short arr[100]
比如一个班有5个组,每个组有9个人
int arr[45] 或者 intarr[5*9] 或者 int arr[5][9]
比如一个县有5个学校,每个学校有3个年级,每个年级有4个班,每个班有5个组,每个组有9个人
……数组定义的格式:
数据类型 变量名[常亮]; //为什么不能使变量?
//因为在声明的时候 编译器需要知道数组的长度,分配相应大小的内存
方式1:
……如何实现让某些语句按照一定的条件重复执行呢?
比如:打印从0 – N的值?
例子: goto语句
众所周知,Ubuntu 上官方源的更新速度一直是慢得令人发指的,很多人不得不自己编译 nginx,非常麻烦。
……switch(表达式)
{
case 常亮表达式1:
语句;
break;
case 常亮表达式:
语句;
break;
case 常亮表达式:
语句;
break;
......
default:
语句;
break;
}
break
:break
非常重要,当执行到一个分支后 如果没有break就会继续向下执行,遇到break才跳出switch语句default
语句与位置无关,但是当default写在其他条件的前面时。如果没有break;
,就会向下继续匹配观察switch语句的反汇编,看看switch语句为啥效率高
……