小编Luc*_*ini的帖子

如何启动流程并使其"独立"

假设我有两个正确的事实: -

CreateProcess()启动一个进程并让程序在运行时继续运行,但是当程序完成时,子进程会随之运行.此外,您的程序必须记下子进程退出的时间,以便它可以正确释放进程句柄.

system() 启动一个过程,等待它完成然后继续你的程序.

  • 我需要知道的是如何启动一个进程并让它独立于我的程序运行,并在程序退出后继续运行.我不需要捕获它的输出或对它有任何进一步的控制,我只是想让用户与它交互 - 比如说我想写一个替代开始菜单运行命令.

请问,实际上可以做到这一点吗?

c++ winapi

12
推荐指数
2
解决办法
6565
查看次数

在C++中优化类实例的内存布局

将应用程序从32位升级到64位会增加指针大小和对象的内存占用量.

我正在寻找尽可能减少对象内存占用的方法.对于POD结构,我转储结构的内存布局,以找出如何打包成员并减少编译器填充.

有没有办法找出非POD对象的内存布局,如类实例?我怎么能实现类包装类对象的东西?

谢谢,丹

c++ memory memory-alignment

6
推荐指数
2
解决办法
1498
查看次数

SQL Server中的%Rowtype等效项

我要将存储过程从pl/sql转换为SQL Server.该过程使用游标循环select查询结果.是否有与ORACLE rowtype构造等效的SQL Server ?

sql sql-server oracle stored-procedures

5
推荐指数
3
解决办法
2万
查看次数

Emacs缩进模板类/函数

有人知道如何禁止emacs在模板子句后缩进函数或类的名称吗?

目前的结果是:

template <typename T>
    class A {
    /* ... */
    };
Run Code Online (Sandbox Code Playgroud)

我想要的地方:

template <typename T>
class A {
/* ... */
};
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

编辑1 我正在使用c ++ - 模式,java作为c ++的缩进样式.我用这种方式定制了c-offset-alist:

(custom-set-variables 
;;
'(c-offsets-alist (quote ((case-label . +) (innamespace . 0))))
Run Code Online (Sandbox Code Playgroud)

c++ emacs templates

5
推荐指数
1
解决办法
1913
查看次数

QuickFix/C++ 中的重复组

我正在编写一个使用快速修复库的程序。文档很差,所以我请求SO研究员的帮助。

我在 Group 类中看到有迭代器。所以我认为有一些类似 STL 的方法来解析重复组。我错了吗?有人可以提供一个简单的例子吗?

预先非常感谢您。

c++ stl quickfix

5
推荐指数
1
解决办法
6153
查看次数

pragma代码部分和数据部分有什么用?

如果我在c源代码文件中使用以下两行,那么数据段和文本段究竟会发生什么?

#pragma CODE_SECTION(func1, "Sec1")
#pragma DATA_SECTION(globalvar1, "Sec2")
Run Code Online (Sandbox Code Playgroud)

c compiler-construction pragma c-preprocessor

5
推荐指数
1
解决办法
2万
查看次数

C字大小和标准尺寸

在本文中,摘自"Linux内核开发"一书:http: //www.makelinux.net/books/lkd2/ch19lev1sec2
它说:

C long类型的大小保证是机器的字大小.然而,在缺点方面,代码不能假设标准C类型具有任何特定大小.此外,无法保证int与long的大小相同

问题是,我认为int与单词大小相同,不长,我找不到任何定义这个说法的官方标准.

有什么想法吗?

c ansi long-integer

4
推荐指数
1
解决办法
4278
查看次数

构建错误:12个重载中没有一个可以转换所有参数类型

我使用一个重载函数,在我的一个头文件中定义如下

// indexed variables: todo overloads
extern int PmdgGetVariable(char *variableName, int index, bool* result);
extern int PmdgGetVariable(char *variableName, int index, short* result);
extern int PmdgGetVariable(char *variableName, int index, unsigned short* result);
extern int PmdgGetVariable(char *variableName, int index, int* result);
extern int PmdgGetVariable(char *variableName, int index, unsigned int* result);
extern int PmdgGetVariable(char *variableName, int index, float* result);
Run Code Online (Sandbox Code Playgroud)

尝试这些参数时,我从构建过程中得到一个错误

int res = PmdgGetVariable("MCP", 0, 0);
Run Code Online (Sandbox Code Playgroud)

错误是

main.cpp(80): error C2665: 'PmdgGetVariable' : none of the 12 overloads could convert all the argument types …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading

3
推荐指数
1
解决办法
1万
查看次数

如何在每次启动时运行自己的脚本

我有一个问题,如何在Ubuntu的每个启动时运行我自己的bash脚本.假设我有一个正在做特定工作的脚本.现在我希望它在启动我的Ubuntu系统时自动运行.

linux bash ubuntu startup

3
推荐指数
1
解决办法
1万
查看次数

这种用法是不是很好吗?

假设我在这样的循环中检查变量.

while( var )
  ;
Run Code Online (Sandbox Code Playgroud)

在这里,VAR必须申报volatile,如果程序是多线程和VAR被多个线程访问.这是一个众所周知的事实.但是,让我们说,我们有类似的东西.

while( var + 1 )
  ;
Run Code Online (Sandbox Code Playgroud)

这还能用volatile吗?我的意思是编译器可能缓存(var + 1)的值吗?换句话说,我问我们是否需要像下面这样编写代码,temp也是一个volatile变量,以确保编译器不会进行缓存.

while( temp )
  temp = var + 1;
Run Code Online (Sandbox Code Playgroud)

c compiler-construction gcc volatile compiler-optimization

-1
推荐指数
1
解决办法
110
查看次数