我在Windows环境的编程方面有一些经验,但我需要在BeagleBone Black上开发一个"Kiosk"(我听说这是正确的名称).我是Linux的新手,也是我将要使用的工具的新手.直到最近几个月,我一起开发VB6并且C++Builder只开发了.
现在我有Eclipse,MinGW并wxWidgets在我的Windowns 7 64位PC和BeagleBone Black上启动Debian 7.8 LXDE.
我需要设置一个工具链来编译BeagleBone Black.我非常努力地读了至少一百页,但我还是没弄明白.
从本网站我了解到可以从Windows编译Linux,这可能是完美的解决方案.如果不可能的话,我已经有一台运行Ubuntu的虚拟机(但我可以根据需要更改)准备好Eclipse和其他东西安装.
我仍然对使用/构建的工具链感到迷茫.这个网站似乎已经建立了一个工具链,但是没有任何迹象表明从哪里开始.我知道我现在应该wxWidgets使用这些工具编译,但我不确定,而且我也不想弄乱我在Windows中当前的工作设置,因为我错过了一个开关或路径.
我看到这个问题是多次被问到的,但我找不到一个最新的问题,所以我再问一遍.
如何使用工具链来编译GUI应用程序,从Windows使用Eclipse,MinGW以及wxWidget运行Debian的BeagleBone Black和LXDE?
我试图在这个问题中使用DanielKO的答案来满足我的需求,但我不熟悉模板和可变函数,我不知道该怎么办.
我需要的是一个可变的c ++(11)函数,我可以像这样调用:
String NewMsg = CreateMessage("SET",16,1,17,0,"RED",47);
Run Code Online (Sandbox Code Playgroud)
并且NewMsg ="SET,0010,0001,0011,0000,RED,002F".
我甚至无法到达应该在参数之间添加逗号的位置.然后:在解析args时如何区分整数和字符串,以便将每个整数格式化为十六进制字符串?
我有两个宏:
#define LogFunction(str) fprintf(stdout, "%s: %s\n",__FUNCTION__,(str))
#define LogPrintf(f_, ...) fprintf(stdout, (f_), ##__VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)
所以我可以这样使用它们:
void MyFunction()
{
int N=4;
LogFunction("START"); // Outputs "MyFunction: START"
LogPrintf("N=%d\n", N); // Outputs "N=4"
}
Run Code Online (Sandbox Code Playgroud)
我想改变的是
所以最后我的输出只能有一个宏.
我试图了解附加到__VA_ARGS__是否有用,但我承认我不明白它是否与我的情况有关:(
谢谢.
我正在构建一个脚本来修复 SQLite 数据库。其中一个字段包含一个相当大的字符串,其中包含 JSON 结构。
在结构内部,有一个像这样构建的“项目”数组:
...
},
"items": [
{
"id": 001,
"Model": {
"modelname": "Model1"
},
...
"location": null,
...
},
{
"id": 002,
"Model": {
"modelname": "Model2"
},
...
"location": "1020",
...
},
{
"id": 003,
"Model": {
"modelname": "Model3"
},
...
"location": null,
...
},
...
],
Run Code Online (Sandbox Code Playgroud)
我需要的是查找带有"location": null和不带有的所有项目"modelname": "Model3"(因此,在本示例中,我将仅获取带有 的项目"id": 001),然后迭代它们以编辑“location”属性。
我并不是真正的 PowerShell 专家,所以我不知道我可以获取和使用哪些对象或对象数组。
我怎样才能找到我需要的项目并迭代所有这些项目?