stop和exitFortran有什么区别?
两者都可以使用一些错误信息立即终止程序.
gg=mpif90
DEPS=matrix.mod
OBJ= main.o sub1.o
main.out: $(OBJ)
$(gg) -o $@ $^
%.mod:%.90 %.o
$(gg) -c -o $@ $^
%.o:%.f90 $(DEPS)
$(gg) -c -o $@ $^
.PHONY: clean
clean:
-rm -f *.o *~
Run Code Online (Sandbox Code Playgroud)
看。主要程序是main.f90. sub1.f90将被调用main.f90。两者都将使用matrix.f90which 是一个模块。我知道我可以直接生成可执行程序而无需compile then link. 但我不喜欢那样。
陷入了最简单的问题.
int *p= (int *)malloc(m*sizeof(int));
p={0}; // this is not correct.
Run Code Online (Sandbox Code Playgroud)
除了使用循环之外,如何将整个数组设置为值0?
我只是不知道使用 GDB 运行多个进程的命令。以下不起作用。
r -np 64 ./a.out -gdb
Run Code Online (Sandbox Code Playgroud)
抱歉,这看起来很简单。但是我在网上没有找到很多关于使用 gdb 在 MPI 中调试的有用文档。
std::map<int, int> m;
// initialize m...
//
int n=3;
for (std::map<int, int>::iterator iter = m.begin()+n; iter != m.end(); ++iter)
// Is the above line correct?
{}
Run Code Online (Sandbox Code Playgroud)
我可以按代码中所示的整数递增迭代器吗?
ODIR =./obj
SRCS = myfunc.cpp
DEPS = header.h
OBJ = $(patsubst %.cpp, %.o, $(SRCS))
_OBJ = $(ODIR)/$(OBJ)
$(DLL): $(_OBJ)
if test ! -d $(ODIR); then mkdir $(ODIR); fi
$(AR) $(CFLAGS) -o $@ $^
$(_OBJ): $(SRCS) $(DEPS)
$(CC) -c -o $@ $< $(INCL) $(LDFLAGS)
Run Code Online (Sandbox Code Playgroud)
我想将所有目标文件放在一个目录中./obj。如果这样的目录不存在,我想创建它。出什么问题了 if test ! -d $(ODIR); then mkdir $(ODIR); fi?错误说
汇编器消息:致命错误:无法创建 obj/:是一个目录
我有一个mylib.a在Linux下生成的静态库.现在如何将其链接到Windows环境下的项目?在mylib.a给别人打电话提供的功能.我在Linux中构建这个库的原因是因为所有内容都已在Linux中设置.
struct myclass {
int id;
myclass(): id(-1){};
};
myclass *a;
cout >> a->id;
Run Code Online (Sandbox Code Playgroud)
以上是我的长程序的演示.输出应为-1.但我不知道为什么输出变成-842150451.