gpt4 book ai didi

c - 将文件中的事件预处理器符号导入 Eclipse CDT

转载 作者:太空狗 更新时间:2023-10-29 15:37:12 24 4
gpt4 key购买 nike

我将 Eclipse CDT 用于带有自定义 makefile 的 C 项目,并且我想使用问题 739230 的答案中建议的非事件代码突出显示。 .事件/定义符号的自动发现不适用于我的 makefile。相反,我为每个构建目标创建了一个文本文件,列出了事件符号。

所以我的问题是:

  1. 如何在不通过 GUI(文件夹属性 -> 路径和符号 -> 符号)的情况下将这些设置加载到项目中?
  2. 我如何选择将符号添加到哪个配置/构建目标?

直接编辑 .cproject 文件并添加这样的行:

<listOptionValue builtIn="false" value="HIRES_OUTPUT"/>

但前提是我通过 GUI 为每个构建目标创建第一个 key 。我更愿意在一次操作中创建构建目标并导入符号。

从头开始编写一个 Eclipse 插件对于这个任务来说似乎有点过分了。

有没有更聪明的方法来做到这一点?

最佳答案

导入/导出向导可以处理符号定义。使用 File->Import 并选择 C/C++ Project Settings。

导入向导所需的 XML 格式可以使用一个小的一次性脚本从事件符号的文本文件中创建。

我使用了以下 python 脚本:

#
# Tool to import a list of defined symbols into Eclipse IDE for code highlighting.
#
# Takes a _cdef.txt file (generated during library build) and converts to an XML file
# suitable for import into Eclipse
# Use stdin and stdout for input and output.

import sys
import string

header = [
'<?xml version="1.0" encoding="UTF-8"?>',
'<cdtprojectproperties>'
,
'<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.Macros">',
'<language name="holder for library settings">',
'',
'</language>',
'<language name="GNU C++">',
'',
'</language>',
'<language name="GNU C">',
''
]

sys.stdout.write (string.join(header, '\n'))


text=sys.stdin.readlines()
tokens = string.split(string.strip(text[0]),',')
for curtok in tokens:
lines = ['<macro>',
'<name>' + string.strip(curtok) + '</name><value></value>',
'</macro>', '']
sys.stdout.write(string.join(lines, '\n'))

footer = [
'',
'</language>',
'<language name="Assembly">',
'',
'</language>',
'</section>',
'</cdtprojectproperties>',
'']
sys.stdout.write (string.join(footer, '\n'))

脚本的输入是一个文本文件,其中包含以逗号分隔的事件符号,全部位于第一行。

关于c - 将文件中的事件预处理器符号导入 Eclipse CDT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com