Articles of pipe理员

我有一个C#Windows窗体应用程序。 我可以在networking上部署它,以便用户可以通过networking访问?

我们已经完成了一个基于Windows的应用程序,使用C#(.NET 2.0,Visual Studio 2005)。 现在重做这个基于Web的应用程序,是一个耗费时间和资源的过程,而这对我来说几乎是不可能的。 我们需要托pipe这个,以便用户可以通过Internet访问。 通过RDP用户可以访问Windows应用程序,但这里的问题是更多的用户不能同时操作。 它可以作为一个Web应用程序托pipe,以便用户可以通过浏览器访问它?

为什么malloc不是“用尽”我的电脑上的内存?

所以我有这个程序,分配256 MB的内存,并在用户按下ENTER键后,释放内存并终止。 #include <stdio.h> #include <stdlib.h> int main(void) { char *p, s[2]; p = malloc(256 * 1024 * 1024); if ( p == NULL) exit(1); printf("Allocated"); fgets(s, 2, stdin); free(p); return 0; } 我多次运行这个程序,并将每个程序都放在后面,直到没有足够的内存可以分配为止。 但是,这从来没有发生。 我运行了一个linux的top命令,甚至在运行这个程序多次后,可用内存永远不会下降近256 MB。 然而,另一方面,如果我使用calloc而不是malloc那么会有很大的差别: p = calloc(256 * 1024 * 1024, 1); 现在,如果我运行程序和背景,并重复,每次运行它,可用内存下降了256 MB。 为什么是这样? 为什么malloc不会导致可用的空闲内存改变,但calloc呢?

为什么ping不具有pipe理员权限?

您可能知道无法使用Windows套接字创buildRAW 套接字而无需具有pipe理权限。 问题是,我需要发送ICMP消息,因此我需要RAW套接字。 问题:我的程序需要运行没有pipe理权限。 这导致我的问题, ping工具如何发送无pipe理权限的ICMP消息?

如何使用VirtualAllocEx为代码洞穴腾出空间?

如何使用VirtualAllocEx为代码洞穴腾出空间? 我目前拥有一块很less有“可用空间”的软件,我读了VirtualAllocEx来制作这个空间。

内存pipe理与返回字符*function

今天,没有太多的想法,我写了一个简单的函数返回一个char *基于给定枚举值的switch语句。 不过,这让我想知道我该如何释放这些记忆。 我所做的是这样的: char* func() { char* retval = new char[20]; // Switch blah blah – will always return some value other than NULL since default: return retval; } 我很抱歉,如果这是一个天真的问题,但是什么是最好的方式来释放内存看到我不能删除内存后返回,显然,如果我删除它之前,我不会有一个返回值。 我想作为一个可行的解决scheme是这样的 void func(char*& in) { // blah blah switch make it do something } int main() { char* val = new char[20]; func(val); // […]

为什么不需要`call`从pipe道中涉及的被调用的批处理脚本返回?

假设有一个batch file(调用者)执行另一个batch file(被调用者), call命令需要被使用以在被调用者完成执行之后返callback用者。 这里是一个例子: caller.bat : echo Calling another script… call callee.bat echo Returned from callee… callee.bat (在相同的位置) : echo Being called from caller… 输出将是这个(省略命令回声),显示执行返回按预期: Calling another script… Being called from caller… Returned from callee… 如果call者中的call命令被解除,则输出将是: Calling another script… Being called from caller… 但是只要被调用者涉及到pipe道( | ), call命令是否被使用就没有区别。 例如: caller.bat (被调用者保持不变) : echo Calling another […]

修剪我的“工作集”在没有页面文件的系统上会有什么效果?

一位客户抱怨我的程序使用了太多内存。 但是,在与他们合作一段时间之后,我意识到: 他们已经closures了他们的页面文件(在他们的terminal服务箱)。 他们担心我的程序在任务pipe理器中的“私人工作集”图的大小。 所以,我的问题是,如果我只是在我的程序启动后用EmptyWorkingSet()修改工作集的大小(它在XMLparsing过程中使用了大量的内存,然后删除它,但工作集似乎并没有去下)我可以让工作集的数字下降。 但是,这实际上会帮助客户吗? 我有一种感觉,这只是意味着工作集将被分页,我相信,如果你closures了页面文件,那么工作集是由真实内存支持…. 是否真的说,什么任务pipe理器报告为“私人工作集”真的是我的程序有多less新/ malloced?

进程终止是否自动释放所有使用的内存? 任何理由明确地做到这一点?

在Windows NT和更高版本中,我认为当进程到期时,无论是因为它终止本身,还是被强制终止,操作系统都会自动回收进程使用的所有内存。 有没有这种情况是不正确的? 是否有任何理由明确释放用户模式应用程序使用的所有内存?

Windows上的Pythonpipe道:为什么这不起作用?

我正在尝试这样的事情 Output.py print "Hello" Input.py greeting = raw_input("Give me the greeting. ") print "The greeting is:", greeting 在CMD线 Output.py | Input.py 但是它返回一个EOFError 。 有人能告诉我我做错了什么吗? 谢谢你的帮助。 编辑 帕特里克哈灵顿的解决scheme的作品,但我不知道为什么…

如何获得Win32线程的名称?

我知道在Windows下设置线程名称的非直观过程(请参阅“ 如何将名称设置为Win32线程? ”)。 有没有办法获得线程的名称? 我没有看到任何Windows API允许我这样做( http://msdn.microsoft.com/en-us/library/windows/desktop/ms684847(v=vs.85).aspx )。