- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 CreateProcess
函数中为参数 lpCommandLine
分配内存,使用 malloc 或在堆栈上。
我能否在调用后立即释放/释放该内存,还是必须等到进程完成?
最佳答案
lpCommandLine
引用的缓冲区需要仅在调用 CreateProcess
期间有效。一旦 CreateProcess
返回,它就不会再次引用该缓冲区。
想象一下,如果您确实必须让该缓冲区保持事件状态。如果是这样,那么所有父进程都必须比它们的所有子进程都长寿。这显然是一个荒谬的提议,我相信您会从经验中知道没有这样的要求。
这里有一个总的原则。总的来说,API 函数在函数返回后不会引用它们的参数。如果他们确实需要这样做,那么它将在文档中被明确地调用,或者从函数的意图中显而易见。作为后者的一个例子,我正在考虑将一个窗口过程传递给 RegisterClass
。很明显,只要存在该类的窗口,窗口过程就必须保持有效。
关于CreateProcess 和 lpCommandLine 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31031140/
我在 CreateProcess 函数中为参数 lpCommandLine 分配内存,使用 malloc 或在堆栈上。 我能否在调用后立即释放/释放该内存,还是必须等到进程完成? 最佳答案 lpCom
arg我有一些代码: CreateProcess(L"D:\\prog\\forLb1SPZ.exe",L"D:\\prog\\forLb1SPZ.exe D:\\1.txt",NULL,NULL,F
我一直在使用 CreateProcess Win API,我想知道使用 lpApplicationName 和 lpCommandLine 作为参数与使用 lpCommandLine 之间的区别是什么
让我想编写一个应用程序来启动另一个应用程序。像这样: # This will launch another_app.exe my_app.exe another_app.exe # This will
我似乎无法找到明确的答案。我的目标是使用用户 token 启动一个进程。比如说,有问题的过程是这样开始的: "C:\My folder\My proc.exe" param=1 因此,当我为 Crea
我是一名优秀的程序员,十分优秀!