为什么Go编译器会产生大的二进制文件?
例如,在编译下面的代码后,我得到一个1.8 MB的exec文件
package main
import "fmt"
func main(){
fmt.Println("Hello World")
}
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu和Win7上测试了上面的代码,结果是一样的!
我还用+70行代码编写了一个更大的程序,结果二进制文件又惊人地1.8 MB(实际上有几个字节差异).我想知道Go编译器将什么转储到二进制文件中.
Vala中弱引用和无引用引用之间有什么区别.
基于我从Vala教程中学到的内容,弱计和无主参考都不计算在内,当真实实例超出范围时,它们将引用null(!!).
为什么应该有一个不同的手段出于一个原因?(如果他们做同样的工作)如果没有,有人可以给我一个简单的例子来说明为什么以及什么时候我们必须使用它们?!
非常感谢
我写了这段代码.它运行正常,但是当我在Valgrind下检查它时它会遇到2个问题.既然我无法解释valgrind的消息,我会很感激,如果有人解释我更多,并告诉我问题在哪里!
这是代码:
#include <iostream>
#define width 70000
#define height 10000
using namespace std;
int main(void)
{
int** pint;
pint = new int*[height];
for(int i = 0; i < height; i++)
pint[i] = new int[width];
for(int i = 0; i < height; i++){
delete[] pint[i];
pint[i] = NULL;
}
delete[] pint;
pint = NULL;
return 1;
}
Run Code Online (Sandbox Code Playgroud) 我想知道为不同的python应用程序执行多少python解释器?假设我有6个不同的python应用程序启动并运行,那么这是否意味着每个运行6个不同的python解释器?
假设我们有一个这样的结构:
type Data struct {
a int
}
Run Code Online (Sandbox Code Playgroud)
我们想要获取返回多个值的函数的单个返回值并将其分配给 Data 对象,例如
data := Data {
a: strconv.Atoi("1000")
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,因为 Atoi 返回两个值,一个数字和一个错误,所以我们需要以某种方式处理额外的值(错误),但就我而言,我不需要评估错误值,并且不可能使用_关键字将其关闭。
在初始化结构时如何实现这一点,我想摆脱错误返回值