我正在寻找C语言(Windows平台)中标准的经过测试和测试的库,它实现了堆栈,队列,树等数据结构.
我希望有一个源代码.可以自己写一个图书馆; 但是,我觉得选择一些行业标准的实施可能会更好,这种实施可能会被优化并且不那么多.
编译器是Visual Studio 2005/2008.
出于学习目的,我打算开始构建一个8051微控制器仿真器.我很乐于用C/C++/C#编程.这不是课堂项目等,而是来自我方的学习计划.
我确实发现了很多讨论这个问题的问题.但是,我想在粒度级别上进行更多细分,以便在实际开始编写代码之前,我可以知道需要关注哪些区域.
我最初的要求是:
文本编辑器(可以使用编辑框控件),用户可以在其中编写汇编代码
验证语法是否正确
有一个小窗口,显示运行时的寄存器值.
当用户启动程序时,指令应逐步更新寄存器窗口.
除了GUI元素,我更感兴趣的是如何模拟微控制器.
我理解的方式可以进一步分解:
我需要有一个查找表以获取指令或其他一些方法来存储可用指令并验证语法.有任何指示如何实现这一点,请让我知道.
如何模拟8051的每条指令?
对于寄存器,我可以根据类型使用un/signed整数并更新表.
由于微控制器具有有限的RAM存储器,如何检查代码长度或者更确切地说是在存储器中执行的代码以避免和缓冲溢出或其他问题.
如果有一些开源项目详细说明了如何构建仿真器,我们将不胜感激.
我有一个基本的C#.NET UDP服务器和客户端代码,我正在尝试将其移植到UWP.对于UWP,我尝试使用DatagramSocket和常规Socket类.我看到使用DatagramSocket类在UWP服务器上传入的UDP数据包上有近40%的数据包丢失.如果我使用UWP套接字,我看到丢包率约为70%.旧的.NET代码显示0%的数据包丢失.
我想也许我没有正确使用UWP API,因此我的性能很差.有人可以指导我如何提高UWP服务器性能吗?
现在,所有测试都是使用环回完成的.UWP默认情况下不允许环回,因此我按照此处提到的说明启用环回.
服务器在50000端口上侦听数据包,客户端代码从50001向服务器发送大约60字节的数据包.
C#.NET客户端代码如下:
try
{
byte[] buffer = new byte[1024];
IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 50001);
IPAddress remoteIp = System.Net.IPAddress.Parse("127.0.0.1");
IPEndPoint remoteEP = new IPEndPoint(remoteIp, 50000);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
try
{
sender.Bind(localEP);
for(int i = 0; i < 10000; i++)
{
//Thread.Sleep(1);
// Encode the data string into a byte array.
string ClientReq = "Client Request:: " + i.ToString() + " "+ Guid.NewGuid().ToString();
byte[] msg = Encoding.ASCII.GetBytes(ClientReq);
// Send the …Run Code Online (Sandbox Code Playgroud) 这可能听起来像一个愚蠢的问题或观察,但我已经看到,大多数时候,当一个人试图查看开源代码,没有评论或只是一两行在函数的开头告诉功能是什么用于例如注册用户或表中的数据等.没有代码实际上解释了功能正在做什么等.
当代码发布到开源社区以使其他人难以理解时,是否故意(删除评论)?