小编Jos*_*own的帖子

Native C++属性的可移植性

在Visual Studio中,__declspec(property)创建了与C#类似的属性.Borland C++提供的__property关键字具有完全相同的功能.在C++ 0x中,提到了一个implicit可以扩展以实现相同功能的关键字.但它没有进入规范.

我正在寻找一种可移植且相对干净的方法来声明语法上含糖的属性,这些属性将在最新的Windows,OSX和Linux编译器中编译.我不关心编译器兼容性,每个平台只有一个编译器.

我不是在寻找需要括号来获取或设置属性的属性的替代方法,例如分隔getter和setter的重载方法.

这是在Visual Studio 2010中编译的理想用法:

#define _property(_type, _name, _get, _put) __declspec(property(get=_get, put=_put)) _type _name
#define _property_readonly(_type, _name, _get) __declspec(property(get=_get)) _type _name

class Window
{
public:
    _property_readonly(void*, Handle, GetHandle);
    _property(bool, Visible, GetVisible, SetVisible);

    void* GetHandle();
    bool GetVisible();
    void SetVisible(bool);
}

void main()
{
    Window MainWindow;
    if (!MainWindow.Visible)
        MainWindow.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)

c++ gcc properties visual-c++ c++11

27
推荐指数
2
解决办法
6757
查看次数

如何将东西命令发送到启动分离屏幕?

我以"-d -m"开头的任何会话都不接受"-X stuff [...]"命令,除非我已经连接到屏幕至少一次.没有错误消息,命令无法通过.

问题是我从cron作业启动会话,无法从cron内部附加到屏幕.

重复的步骤

$ screen -m -d -S mydaemon bash
$ screen -S mydaemon -X stuff "`printf "exit\\r"`"
$ screen -ls
        32456.mydaemon  (Detached)
$ screen -r -S mydaemon
$ ^a d
$ screen -S mydaemon -X stuff "`printf "exit\\r"`"
$ screen -ls
No Sockets found in /var/run/screen/S-user
Run Code Online (Sandbox Code Playgroud)

^ ad表示按Ctrl + a然后按d.

版本

CentOS release 5.5 (Final)
Screen version 4.00.03 (FAU) 23-Oct-06
Run Code Online (Sandbox Code Playgroud)

linux gnu-screen

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

标签 统计

c++ ×1

c++11 ×1

gcc ×1

gnu-screen ×1

linux ×1

properties ×1

visual-c++ ×1