小编cas*_*One的帖子

什么时候可以在C中使用全局变量?

显然,那里的意见种类很多,其中包括" 永远!永远封装(即使它仅仅是一个宏!) "至" 这没什么大不了的 - 当它更方便时使用它们. "

所以.

具体,具体原因(最好以一个例子为准)

  • 为什么全局变量是危险的
  • 使用全局变量代替替代方案
  • 那些试图不恰当地使用全局变量的人存在哪些替代方案

虽然这是主观的,但我会选择一个答案(对我而言,这最能代表每个开发人员应该与全局人员建立的爱/恨关系),社区将投票给他们.

我相信新手有这样的参考是很重要的,但如果存在与你的答案基本相似的另一个答案,请不要混淆 - 添加评论或编辑其他人的答案.

-亚当

c global-variables

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

如何提高Jquery自动完成的性能

我计划对网站使用jquery自动完成功能,并已实现测试版本.我现在使用ajax调用来检索每个字符输入的新字符串列表.问题是它在填充新列表之前1.5秒变得相当慢.快速自动完成的最佳方法是什么?我正在使用cakephp,只是做了一个发现,并限制了10个项目.

javascript jquery autocomplete

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

代码页65001和utf-8是一样的吗?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

上面的代码是对的吗?

codepages asp-classic

45
推荐指数
3
解决办法
8万
查看次数

不支持STA线程上的多个句柄的WaitAll

  1. 为什么我收到此错误消息?"不支持在STA线程上使用多个句柄的WaitAll."
  2. 我应该使用[MTAThreadAttribute] attribut吗?更新:无法使用WPF应用程序!

注意:它的错误是在WaitHandle.WaitAll(doneEvents)行; 我正在使用标准的WPF项目.

private void Search()
{
    const int CPUs = 2;
    var doneEvents = new ManualResetEvent[CPUs];

    // Configure and launch threads using ThreadPool:
    for (int i = 0; i < CPUs; i++)
    {
        doneEvents[i] = new ManualResetEvent(false);
        var f = new Indexer(Paths[i], doneEvents[i]);
        ThreadPool.QueueUserWorkItem(f.WaitCallBack, i);
    }

    // Wait for all threads in pool 
    WaitHandle.WaitAll(doneEvents);
    Debug.WriteLine("Search completed!");
}
Run Code Online (Sandbox Code Playgroud)

更新:以下解决方案不适用于WPF应用程序!无法将主应用程序属性更改为MTAThreadAttribute.这将导致以下错误:

错误: "不支持在STA线程上使用多个句柄的WaitAll."

c# multithreading threadpool

45
推荐指数
4
解决办法
3万
查看次数

"把脚本放在底部"是正确的吗?

在改进网站性能的最佳实践http://developer.yahoo.com/performance/rules.html中,史蒂夫·索德斯提到了一条规则"将脚本移到底部".这有点令人困惑.实际上,我注意到很多网页没有把脚本放在底部,而YSlow仍然标记这些页面的A.

那么,我何时应该遵循"将脚本放在底部"的规则?

javascript performance yslow

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

网站真的需要迎合没有启用Javascript的浏览器吗?

为什么许多专业的Web开发人员总是坚持开发适用于禁用Javascript的浏览器的网站?

除了技术负责人和开发人员之外,大多数"普通"用户甚至不知道它是什么.

javascript

44
推荐指数
7
解决办法
4694
查看次数

拼字游戏瓷砖检查

对于拼字游戏中的拼贴检查,您可以制作四个5x5的字母总计100个拼贴.我想制作一个所有40个水平和垂直单词都有效的单词.可用图块集包含:

  • 12 x E.
  • 9 x A,我
  • 8 x O.
  • 6 x N,R,T
  • 4 x D,L,S,U
  • 3 x G.
  • 2 x B,C,F,H,M,P,V,W,Y,空白区块(通配符)
  • 1 x K,J,Q,X,Z

这里提供有效单词词典(700KB).大约有12,000个有效的5个字母单词.

这是一个所有20个水平单词都有效的例子:

Z O W I E|P I N O T
Y O G I N|O C t A D   <= blank being used as 't'
X E B E C|N A L E D
W A I T E|M E R L E
V I N E R|L U T E A
---------+--------- …
Run Code Online (Sandbox Code Playgroud)

string algorithm data-structures

44
推荐指数
1
解决办法
4235
查看次数

为什么通用程序通常从0x8000开始?

我不是bootloader和系统SW的新手,但我不知道一般程序开始的原因0x8000.我已经知道该地址0x8000已被用作普通C/C++程序中的起始地址.

一般程序的引导加载程序的最小大小是否占用0x8000?或者是应该分配给32KB引导加载程序的ROM的最小块大小?还是有其他原因吗?

我想从历史或逻辑上以及从虚拟地址的角度来了解这一点.


我感谢所有人,你的时间和帮助.为了使问题更清楚,问题与虚拟地址有关,而与物理有关.

从物理内存地址的角度来看,我基本同意R的意见.

没有说一个多样化的特定系统,例如linux(甚至在android),一般RTOS(核心,以及其他,特别是ARM链接器部分),它们都使用地址0x8000作为起始地址通用程序.如此命名为crt_begin.o,crt.o等位于0x0的加载器存在于该区域.

因此,如果在启动时将其置于BootROM(冷启动),考虑到块大小,我猜一般程序的引导加载程序的最小大小为32KB.

嗯,但我不确定......

c c++ linker bootloader

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

基类和派生类中的静态字段

abstract基类中,如果我们有一些static字段,那么它们会发生什么?

它们的范围是从这个基类继承的类,还是从它继承的类型(每个子类都有自己staticabstract基类副本)?

c# static scope

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

jQuery拖放使用直播活动

我有一个应用程序,其中包含经常更改的长列表,我需要该列表中的项目可拖动.

我一直在使用jQuery UI draggable插件,但添加到400多个列表项很慢,每次添加新列表项时都必须重新添加.

有没有人知道一个类似于使用jQuery 1.3 .live()事件的jQuery UI draggable插件的插件?这将解决这两个问题.

jquery drag-and-drop jquery-ui draggable livequery

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