代码块中的编译选项[关闭]

问题描述 投票:0回答:1

我希望能够在代码块中输入选项。就像我想做的那样

gcc -P test.c
。我该怎么做呢?基本上,我希望代码块在每次编译时给出
prompt box
,以便我可以在该框中输入选项。代码块中是否提供该功能?

c codeblocks
1个回答
2
投票

您在更新的答案中想要的行为在 Code::Blocks 中不可用。

但是,如果您投入时间为此编写一个插件,您应该能够获得此行为(应该不到一个小时,具体取决于您的 wxWidgets 技能,弹出对话框的 GUI 位可能是最难的事情) .

要么编写一个脚本插件(据说这是最简单、最快的方法,虽然我从来没有这样做过,所以不能确定)——看看

share/codeblocks/scripts/sample_plugin.script
,看看你是否可以适应它——或者写一个C++ 中的正确插件。
编辑:关于脚本插件的一些稀疏文档

例如查看

src/plugins/autosave/autosave.[h|cpp]
(这是最原始的插件之一)以了解这是如何完成的。像这样的东西应该有效:

  • cbPlugin
    派生一个类,将所有纯虚函数实现为
    {}
    (不需要它们)
  • namespace { PluginRegistrant<YourClassName> reg(_T("Readable Plugin Name")); }
    放入源文件中
  • 在您的
    EVT_COMMAND(cbEVT_COMPILER_STARTED...)
    区块内注册
    BEGIN_EVENT_TABLE/END_EVENT_TABLE
  • 在事件处理程序中,弹出对话框,读出文本框,然后修改所需的任何设置。修改编译器的设置,或者使用事件中包含的项目的指针,这允许您使用自己的设置访问项目设置和目标
  • 您可能也想撤消您的更改。所以对
    cbEVT_COMPILER_FINISHED
    做同样的事情,恢复原来的设置

或者,当收到

cbProject::ShowOptions()
时,可能只调用
cbProject
(毕竟,该事件为您提供了一个指向
cbEVT_COMPILER_STARTED
的指针,所以为什么不直接使用它),这应该会弹出内置选项对话框。

© www.soinside.com 2019 - 2024. All rights reserved.