请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
工具/软件:Code Composer Studio
首先、我承认我不是直接从 Java 使用 DSS、而是通过 javabridge 使用 Python。 不过,如果我直接从 Java 执行该操作,则可能不会注意到该问题。 无论如何,如果我调用 ScriptingEnvironment.instance,那么当我从 Python 中停止 Java VM 时,使用 javabridge .kill_vm(),stdout 和 stderr 也会关闭。 如果我只创建 VM、创建 Java String、然后终止 Java VM、则 Python 会保留功能 stdout 和 stderr。 这两种情况可以通过将“失败”设置为“真”或“假”来选择 ,从而显示或不显示最后两个打印。 我通常使用 ccstudiodss 与 javabridge 进行交互、但为了简单起见、我将代码压缩得尽可能平坦。
导入 sys
导入 javabridge
jar_paths =[
'C:/ti/ccs1010/ccs/ccs_base/DebugServer/packages/ti/dss/java/dss.jar、
'C:/ti/ccs1010/ccs/ccs_base/DebugServer/packages/ti/dss/java/com.ti.ccstudio.scripting.environment_3.1.0.jar、
'C:/ti/ccs1010/ccs/ccs_base/DebugServer/packages/ti/dss/java/com.ti.debug.engine_1.0.0.jar、
'c:/ti/ccs1010/ccs/ccs_base/dvt/scripting/dvt_scripting.jar、
]
对于 JAR_Paths 中的 JAR_PATH:
如果 jar_path 不在 javabridge。jars 中:
javabridge。jars.append (jar_path)
javabridge。start_VM ()
如果
失败则失败= True:
ScriptingEnvironment = javabridge。JClassWrapper()
'com.ti.ccstudio.scripting.environment.ScriptingEnvironment',
)
脚本= ScriptingEnvironment.instance ()
否则:
string = javabridge。JClassWrapper(
'java.lang.String',
)
S = String ()
print ('stdout:kill'之前)
print ('stderr:killing'之前、file=sys.stderr)
javabridge .kill_VM ()
print ('stdout:kill'之后)
print ('stderr:killing'之后、file=sys.stderr)