我正在寻找为什么碎片在IP级别完成的原因,但为什么不在TCP/UDP上.
假设我的框架看起来像这样| MAC | IP | TCP |有效载荷| FCS.整个大小,如果说例如:1600.PathMTU发生在这里,为什么实现碎片@ IP级别是我的问题,为什么没有实现@ TCP/UDP级别/代码.
预先感谢.
我想知道为什么代码段对于同一程序的不同实例是常见的.
对于Eg:考虑程序P1.exe正在运行,如果正在运行P1.exe的另一个副本,则代码段对于两个正在运行的实例都是通用的.为什么会这样?
答案将受到高度赞赏.
提前致谢.
我没有得到为什么带有成员函数的类的大小是1个字节.在下面的例子中,成员函数是4个字节.
class Test
{
public:
Test11()
{
int m = 0;
};
};
int main()
{
Test t1;
int J = sizeof(t1);
int K = sizeof(t1.Test11());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里J变为1字节,K变为4字节.如果K = 4,那么为什么类的大小不是4个字节而是显示1个字节
我想知道如何在VC++中[以编程方式] 禁用 Windows TCP/IP堆栈.
我们正在使用winpcap进行一些原始套接字编程.因此,我们的应用程序不需要Windows TCP/IP堆栈,我们希望在应用程序启动时卸载它.
我想在WaitAndCallFunc()函数中调用Test1()方法.
码:
typedef void (*func)();
void StartTimer(void* pFuncAddr);
void WaitAndCallFunc(void* pPtr);
void WaitAndCallFunc(void* pPtr)
{
int i = 0;
int nWaitTime = 3;
while(1)
{
Sleep(1000);
// I want pPtr to call Test1 Function;
if(i == nWaitTime)
break;
}
_endthread();
}
void StartTimer(void* pFuncAddr)
{
_beginthread(WaitAndCallFunc, 0, pFuncAddr);
}
void Test1();
int main(int argc, char* argv[])
{
StartTimer(Test1);
Sleep(5000);
return 0;
}
void Test1()
{
cout << "Testing Thread\n";
}
Run Code Online (Sandbox Code Playgroud) 我试图在不使用对象的情况下访问类的成员变量.请让我知道如何去做.
class TestMem
{
int a;
int b;
public:
TestMem(){}
void TestMem1()
{
a = 10;
b = 20;
}
};
void (TestMem::*pMem)();
int main(int argc, char* argv[])
{
TestMem o1;
pMem = &(TestMem::TestMem1);
void *p = (void*)&pMem;
// How to access a & b member variables using variable p
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我希望在5个位置阵列的第4位存储10个.怎么做 ?
int main( )
{
int a[5] = {,,,,4} ;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做我会得到错误.请帮忙.
提前致谢.
我想知道如何将64 bit long数据类型转换为任何16 bit数据类型.以太网应用程序中需要此功能才能包含时间戳.只有2个字节(16位)可用于包含时间戳.但我们得到的64 bit long是时间戳值Win API.因此,从64位数据类型到16位数据类型的转换是必不可少的.
我想知道以下如何工作@编译器级别.
int const iVal = 5;
(int&)iVal = 10;
Run Code Online (Sandbox Code Playgroud)
一点m/c或编译器级别的答案会非常充实.
提前致谢.
class test
{
private:
class privateStruct
{
public:
int m;
privateStruct(int p){m=p;}
};
};
void ff()
{
test::privateStruct ps(4);
throw ps; //Does not work..
}
void main()
{
try
{
ff();
}
catch(...)
{
}
}
Run Code Online (Sandbox Code Playgroud)
但以下代码有效为什么
class test
{
private:
class privateStruct
{
public:
int m;
privateStruct(int p){m=p;}
};
};
void ff()
{
throw test::privateStruct(4); //Work why
}
void main()
{
try
{
ff();
}
catch(...)
{
}
}
Run Code Online (Sandbox Code Playgroud)
注意:我使用的是 VC++ 6。
我需要回答为什么上面的代码有效。
提前致谢 :)
我想在main()中访问Func()中的变量v1和v2
int main(void)
{
Func();
int k = ? //How to access variable 'v1' which is in Func()
int j = ? //How to access variable 'v2' which is in Func()
}
void Func()
{
int v1 = 10;
int v2 = 20;
}
Run Code Online (Sandbox Code Playgroud)
我听说我们可以从Stack访问.但怎么办
谢谢.
c++ ×11
c ×6
networking ×2
tcp ×2
ip-protocol ×1
pointers ×1
process ×1
timestamp ×1
uninstall ×1
visual-c++ ×1