在从fortran子程序调用C子程序时,我在控制台上显示值时遇到了问题。我在调用C子程序之前和之后都有print语句,以及C子例程中的print语句。但是,在执行程序时,C语句打印在两个Fortran语句之前,而不是在它们之间。我仔细研究了代码,其他地方也没有调用C子程序,因此没有明显的理由在Fortran语句之前打印c语句。我创建了一个更简单的Fortran程序(下面)来尝试重现问题,但是代码按照预期的顺序执行了print语句。我想知道是否有人对什么是问题有深刻的见解。谢谢。
示例Fortran代码:
program test
print *, 'Calling C
当我开始学习如何测试一个程序时,我学到的就是用与测试程序相同的语言使用一个库或包。例如,
- if a tested program is written in Python, its testing program is also written in Python and uses `UnitTest` class in the python standard library
- if a tested program is written in C++, its testing program is also written in C++ and uses some test
我正在尝试找到一种在球拍中使用多种语言模型来编写程序的方法。例如,我用球拍写了一个c程序,如下所示:
#lang c
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", a);
return 0;
}
那么有没有可能在球拍程序中把python代码放在上面的c代码之后,这样球拍程序看起来就像:
#lang c
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", a);
对于移动应用,我知道它们可以用Java For Android和Objective C for iPhone编写。有人向我简要地提到,实际上在不同的手机上使用一种通用语言的应用程序使用language C#会更好。他暗示说,一种语言对安卓和iPhone上的应用程序来说总是更好的,但我知道这听起来太好了,以至于不可能是真的。
在两种不同类型的手机上使用两种不同语言(java / objective c)的应用程序与在两种手机上运行的应用程序使用一种语言(c#)有什么不同?
这两种方法的优缺点是什么?