小编Spi*_*rix的帖子

HTML标记<div>和<span>之间有什么区别?

我想问用于显示的使用一些简单的例子<div><span>.我已经看到它们都用来标记一个id或一个页面的一部分class,但是我有兴趣知道是否有时候一个优先于另一个.

html tags

512
推荐指数
10
解决办法
37万
查看次数

什么是总线错误?

"总线错误"消息的含义是什么,它与段错误有什么不同?

c unix segmentation-fault bus-error

245
推荐指数
8
解决办法
28万
查看次数

当在C89模式下编译时,以下程序如何输出`C89`和在C99模式下编译时输出`C99`?

我从网上找到了这个C程序:

#include <stdio.h>

int main(){

    printf("C%d\n",(int)(90-(-4.5//**/
    -4.5)));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个程序的有趣之处在于,当它在C89模式下编译和运行时,它会打印C89,当它被编译并在C99模式下运行时,它会打印出来C99.但我无法弄清楚这个程序是如何工作的.

你能解释一下第二个参数如何printf在上面的程序中起作用吗?

c printf comments c99 c89

125
推荐指数
3
解决办法
5605
查看次数

"android.intent.category.DEFAULT"的目的是什么?

android.intent.category.DEFAULT在Intent Filters的Category字段中使用的目的是什么?

android intentfilter

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

为什么printf具有单个参数(没有转换说明符)?

在我正在阅读的一本书中,写printf了一个单一的参数(没有转换说明符)被弃用了.它建议替代

printf("Hello World!");
Run Code Online (Sandbox Code Playgroud)

puts("Hello World!");
Run Code Online (Sandbox Code Playgroud)

要么

printf("%s", "Hello World!");
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么printf("Hello World!");是错的?书中写道它包含漏洞.这些漏洞是什么?

c security printf format-specifiers puts

99
推荐指数
10
解决办法
1万
查看次数

什么是CHAR_BIT?

引用用于计算整数绝对值(abs)的代码而不分支来自http://graphics.stanford.edu/~seander/bithacks.html:

int v;           // we want to find the absolute value of v
unsigned int r;  // the result goes here 
int const mask = v >> sizeof(int) * CHAR_BIT - 1;

r = (v + mask) ^ mask;
Run Code Online (Sandbox Code Playgroud)

专利变化:

r = (v ^ mask) - mask;
Run Code Online (Sandbox Code Playgroud)

CHAR_BIT它是什么以及如何使用它?

c bit-manipulation

86
推荐指数
3
解决办法
7万
查看次数

更改页面滚动上的活动菜单项?

这里有一个很好的例子:http://www.maddim.com/demos/spark-r6/

向下滚动页面时,活动菜单项会发生变化.这是怎么做到的?

jquery html5

85
推荐指数
2
解决办法
17万
查看次数

C编译错误:"可能无法初始化可变大小的对象"

为什么我使用以下代码收到错误"可能无法初始化可变大小的对象"?

int boardAux[length][length] = {{0}};
Run Code Online (Sandbox Code Playgroud)

c compiler-errors initializer-list variable-length-array

83
推荐指数
5
解决办法
14万
查看次数

堆栈是向上还是向下增长?

我在c中有这段代码:

int q = 10;
int s = 5;
int a[3];

printf("Address of a: %d\n",    (int)a);
printf("Address of a[1]: %d\n", (int)&a[1]);
printf("Address of a[2]: %d\n", (int)&a[2]);
printf("Address of q: %d\n",    (int)&q);
printf("Address of s: %d\n",    (int)&s);
Run Code Online (Sandbox Code Playgroud)

输出是:

Address of a: 2293584
Address of a[1]: 2293588
Address of a[2]: 2293592
Address of q: 2293612
Address of s: 2293608
Run Code Online (Sandbox Code Playgroud)

所以,我看到,从那里a开始a[2],内存地址每个增加4个字节.但是,从qs,内存地址减少了4个字节.

我想知道两件事:

  1. 堆栈是成长还是下降?(在这种情况下看起来对我来说都是)
  2. a[2]q内存地址之间发生了什么?为什么那里存在很大的记忆差异?(20个字节).

注意:这不是作业问题.我很好奇堆栈是如何工作的.谢谢你的帮助.

c memory stack

82
推荐指数
4
解决办法
6万
查看次数

这个C程序如何编译和运行两个主要功能?

今天,在使用一个自定义库时,我发现了一种奇怪的行为.静态库代码包含调试main()功能.它不在#define旗帜内.所以它也存在于库中.它被用于链接到包含真实的另一个程序main().
当它们都链接在一起时,链接器不会抛出多个声明错误main().我想知道这是怎么发生的.

为简单起见,我创建了一个模拟相同行为的示例程序:

$ cat prog.c
#include <stdio.h>
int main()
{
        printf("Main in prog.c\n");
}

$ cat static.c
#include <stdio.h>
int main()
{
        printf("Main in static.c\n");
}

$ gcc -c static.c
$ ar rcs libstatic.a static.o
$ gcc prog.c -L. -lstatic -o 2main
$ gcc -L. -lstatic -o 1main

$ ./2main
Main in prog.c
$ ./1main
Main in static.c
Run Code Online (Sandbox Code Playgroud)

"2main"二进制文件如何找到main要执行的内容?

但是将它们编译在一起会产生多重声明错误:

$ gcc prog.c static.o
static.o: In function `main':
static.c:(.text+0x0): …
Run Code Online (Sandbox Code Playgroud)

c gcc program-entry-point

65
推荐指数
2
解决办法
6648
查看次数