小编use*_*722的帖子

以井号开头的行和gcc预处理器输出中的'#1"ac"'之类的数字是什么意思?

我使用打印出C预处理器的输出

gcc -E a.c
Run Code Online (Sandbox Code Playgroud)

输出包含许多行

# 1 "a.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "a.c"
# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 1 3
# 19 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 3
# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 1 3
# 31 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 3

# 32 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 3
# 20 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 2 3
Run Code Online (Sandbox Code Playgroud)

我从未在C中看到过这种语法.有人可以解释这是做什么的吗?

c gcc c-preprocessor

60
推荐指数
2
解决办法
4万
查看次数

从右到左显示样式错误地显示括号

HTML代码

<html dir="rtl">
<p>hello (world)</p>
</html>
Run Code Online (Sandbox Code Playgroud)

你会看到这样的页面:

(hello (world
Run Code Online (Sandbox Code Playgroud)

但是,如果我将html代码更改为

<html dir="rtl">
<p>hello (world) again</p>
</html>
Run Code Online (Sandbox Code Playgroud)

然后文本正常显示:

 hello (world) again
Run Code Online (Sandbox Code Playgroud)

有谁能解释为什么会这样?如何解决第一个例子?

我的浏览器是chrome

html google-chrome right-to-left

30
推荐指数
4
解决办法
1万
查看次数

python和javascript中的闭包之间的区别

在JS中,我们可以编写如下的闭包:

function f(){
var a=0;
function g(){
    alert(a++);
}
return g;
}
g=f()
g()
Run Code Online (Sandbox Code Playgroud)

但是,如果我在python中编写以下代码

def f():
    a=0
    def g():
        a+=1
        print a
    return g
g=f()
g()
Run Code Online (Sandbox Code Playgroud)

然后我得到UnboundedLocalError.

谁能告诉我python和JS中的闭包之间的区别?

javascript python closures

8
推荐指数
1
解决办法
1275
查看次数

差异正常引用和python中的反引号

如果我写

a=eval('[[0]*2]*2')
a[0][0]=1
Run Code Online (Sandbox Code Playgroud)

a 会成为 [[1,0],[1,0]]

如果我写

a=eval(`[[0]*2]*2`)
a[0][0]=1
Run Code Online (Sandbox Code Playgroud)

a 会成为 [[1,0],[0,0]]

谁能告诉我为什么?

python

5
推荐指数
2
解决办法
1337
查看次数

用GCC编译-O2选项生成不同的程序

我听说带有/不带优化选项的C编译器可能会生成不同的程序(用优化编译程序会导致它表现不同),但我从未遇到过这样的情况.任何人都可以给出简单的例子来展示这个

c compiler-construction optimization

4
推荐指数
1
解决办法
1996
查看次数

向量<bool>和printf的问题

#include <vector>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, const char *argv[])
{
    vector<bool> a;
    a.push_back(false);
    int t=a[0];
    printf("%d %d\n",a[0],t);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

此代码提供输出"5511088 1".我以为它会是"0 0".

有人知道为什么吗?

c++ vector

2
推荐指数
1
解决办法
692
查看次数

Go 1.5的自举编译器比用C编写的Go 1.4编译器慢吗?

Go 1.5设法发布一个用Go编写的自举编译器.假设Go比C慢,而早期的Go编译器是用C编写的,那么自举编译器在编译时会变慢吗?

compiler-construction programming-languages go

2
推荐指数
1
解决办法
376
查看次数

<?= expression?>在php中不起作用

可能重复:
问号等于,不适用于php

<?php $a=123; ?>
<?=$a?>
Run Code Online (Sandbox Code Playgroud)

此代码应该在页面上打印"123".但是没有打印.谁知道什么会导致这个问题?

php

-1
推荐指数
1
解决办法
97
查看次数