我正在创建一个使用条件if和ifneq的makefile.我注意到如果我使用if,下一行应该用空格缩进.
if [-d "$$d" ]; then
<space><space><space> echo "file found";
fi;
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用ifneq命令,则下一行必须通过制表符缩进.
ifneq ($(strip $(USE_FILE)),NO)
<tab>echo "file not to be used"
endif
Run Code Online (Sandbox Code Playgroud)
空间和标签根本不重要.但是如何在makefile中,空格和制表符有区别?
我正在使用最新的starUML BETA,我遇到了这些问题.我创建了2个序列图并将其另存为.mdj文件.
几天后,我想继续研究图表.但是当我打开文件时,我正在处理的图表没有显示出来.工作图领域也没有任何内容.但是Explorer部分显示了我在创建图表时使用的项目.
我不想再从头开始绘制图表了.有没有办法再次显示图表?
出于某种原因,我需要#include为我的系统使用绝对路径.
使用#include "D:\temp\temp_lib\temp.h"可以接受吗?
我尝试过这些不同的用法,这一切似乎都有效.
#include "D:\temp\temp_lib\temp.h"#include "D:\\temp\\temp_lib\\temp.h"#include "D:/temp/temp_lib/temp.h"我只是想知道我应该使用哪一个?我正在使用MSVC 2005.我想知道这三个是否仍然适用于Linux或其他环境.
我期待#1在编译期间出错,但我没有得到任何错误.任何人都知道为什么会这样?
如何在xtend中声明一个int数组?
我已经尝试了ArrayList,但是我得到错误"原始'int'不能是一个类型参数".
我的代码中有很多未使用的宏.所以,我想知道..如果一个宏未被使用,它会占用你程序中的内存空间吗?
我拥有的宏类型只是基本类型.例:
#define TEST_ID 0
Run Code Online (Sandbox Code Playgroud) 我有一个接受文件作为输入的应用程序.由于文件位于不同的位置,因此路径将相对于.jar位置.
示例:D:\ Test\JAVA_App\Exe是放置tester.jar的位置.所以当在Windows命令行中运行时,我这样做:tester.jar D:\ Test\JAVA_App\Exe ....\testcase1.txt
为了处理文件,我的代码从org.eclipse.emf.ecore.resource.ResourceSet调用ResourceSet.这是我的代码:
ResourceSet set = resourceSetProvider.get()
Resource resource = set.getResource(URI.createURI(<inputted path of file>))
Run Code Online (Sandbox Code Playgroud)
我发现"需要注册的资源工厂"错误不是由错误的路径引起的(如果我在命令行中运行整个路径,我可以打开它),但是因为它们之间的".. \".如果我只使用"....\testcase1.txt",它可以正常工作.但如果它的开头有"D:\",中间有".. \",则会发生错误.
还有另一种方法在xtext中使用"D:\ Test\JAVA_App\Exe ....\testcase1.txt"吗?
我有一个函数接受void**的引用.
bool boExecute(void**& vOutParameter);
Run Code Online (Sandbox Code Playgroud)
我试图在vOutParameter中写一些值,但是当我在main()中检查它时,没有写入值.
在这种情况下,什么和引用?它是对指针的引用还是对指针指针的引用?
在boExecute中,我这样添加:
bool boExecute(void**& vOutParameter)
{
Struct_Type* Out = new Struct_Type[4];
for (int i=0; i<4; ++i)
{
memcpy(&(Out[i]), Referenced_Struct[i], sizeof(Struct_Type));
}
*vOutParameter = reinterpret_cast<void*>Out;
Out = null;
return true;
}
Run Code Online (Sandbox Code Playgroud)
Referenced_Struct的类型为Struct_Type**,它有两个成员int32_val和int64_val.
主要内容:
void main(void)
{
void **test;
boExecute(test);
Struct_Type** temp = reinterpret_cast<Struct_Type**>(test);
Struct_Type* temp1 = *temp;
for (int i=0; i<4; ++i)
{
printf("%d, %d", temp1[i].int32_val, temp1[i].int64_val);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在做的事情有什么不对吗?当我更改*vOutParameter时,*vOutParameter的内容应该在它退出函数时更新,对吧?