小编amn*_*amn的帖子

JavaScript中是否有root关键字,或者为什么Sublime会像这样显示它?

我使用了一个root在最近的js项目中调用的变量,Sublime3显示如下: 在此输入图像描述

所以我想知道js中是否有一个root关键字,如果有的话它是做什么...否则我想知道一种方法来阻止sublime3以不同的方式显示它...然而控制台root在我输入它时说在那里.

希望你能帮忙:)

javascript keyword sublimetext3

11
推荐指数
1
解决办法
749
查看次数

CSS Sprites - 不仅适用于背景图片?

是否可以将CSS精灵用于"前景"图像 - 即用户应该点击并与之交互甚至打印的图像?

而不是使用CSS background-image属性.你会用什么?

css sprite

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

如何将$ CC中的"隐式声明"警告转换为错误?

(我在1993年左右开始编写C程序.当时时间不同,编译器可能有所不同,但我记得当一个人试图引用未声明的C函数时,会出现错误.另外,如果稍后定义该函数,可能在另一个翻译单元中,并且"签名"不匹配,则会出现另一个错误.)

我目前正在使用GCC 4.4.3.我很困惑为什么GCC对我(在示例中故意)不匹配(可选)声明bar和它的定义很宽容,bar.c其中显然会导致致命bar的地址错误 - 因为想要一个地址并给出一个整数,它结束取消引用该整数作为地址.一个严格的编译器,或者我认为,会因为错误而中止我.我错过了什么吗?我的构建命令行如下:

cc -o foobar -g -Wall -std=c99 -fexec-charset=ISO-8859-1 -DDEBUG foo.c bar.c
Run Code Online (Sandbox Code Playgroud)

用foo.c:

int main()
{
    int a;

    bar(a);

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

并且bar.c:

void bar(int * a)
{
    *a = 1;
}
Run Code Online (Sandbox Code Playgroud)

我故意省略了声明bar并且故意传递了一个整数(可能是真的)而不是地址,因为它的实际定义需要.我的底线是:因为$(CC)不会阻止我,我最终会出现分段错误(x86,Ubuntu 10.04).我知道一个兼容的C(C99?)编译器会隐式创建一个int bar(void)声明,bar如果没有找到,但在这种情况下,这显然不是我想要的!我想保护自己免受各种错误的影响,因为我犯了人为错误的声明和定义不匹配或完全省略了前者.

我尝试使用-c编译器开关代替仅编译 - 但它并不重要,因为它仍然成功发出警告.虽然连接器可能会禁止,但我希望编译器在发生之前阻止我.

我并不真的想谈谈我的警告与错误的说-Werror,这是因为:

  • 我本可以float bar(double a);在顶部包含错误foo.c,这完全消除了警告,但不会改变生成的程序崩溃的事实.唉,一个程序可以在没有警告的情况下成功编译(即使使用-Wall开关),并且在运行时可以很好地崩溃.
  • 我已经并且将会有其他类型的警告应该保持警告而不是阻止成功构建.
  • 它将处理问题的影响,而不是问题本身
  • 它不仅仅是警告的类型,还包括特定的实例.我不想将特定的警告代码变成错误,因为在某些情况下,这不适用.这将是一个过于粗略的解决方案,它没有考虑警告发生的具体情况和背景.

c gcc

9
推荐指数
2
解决办法
8190
查看次数

为什么环境变量默认不覆盖makefile中设置的变量?

我正在编译包,我看到Makefile作者经常在makefile中写入设置CFLAGS,有这样的选项.另一方面,我想尝试一些编译器优化,并希望传播编译器开关以尽可能少地解决问题.但这并不总是可行的.例如,当makefile指定CFLAGS并且我希望所有C编译器调用都使用-fomit-frame-pointer时,不必显式地写出类似的内容CFLAGS=-fomit-frame-pointer make,那些不是hackish的选项.从我所看到的有上述,然后有相同但不同的make "CFLAGS=-fomit-frame-pointer"我也可以做我认为是最好的解决方案和这个问题的原因:

export CFLAGS=-fomit-frame-pointer
make -e
Run Code Online (Sandbox Code Playgroud)

我认为这是最好的一个,因为坦率地甚至认为有潜在危险的标志,我不会调试那么多软件,当我需要时我可以根据需要重新编译一个特定的部分,调试信息和所有.否则我喜欢使用发布软件而不需要调试铃声和口哨,特别是如果包不是由我编写的.所以我想我具体要问的是:为什么make不会自动更喜欢makefile自己的环境变量?在所有环境都知道什么是最好的情况之后,如果作者确实需要他们的方式,那么就有'覆盖'语法,对吧?

environment makefile

8
推荐指数
2
解决办法
8056
查看次数

两个循环体或一个(结果相同)

我一直想知道更好地利用CPU缓存(已知从参考局部受益)的两个循环 - 两个循环,每个循环遍历相同的数字数组,每个循环体具有不同的循环体,或者具有一个循环将两个主体"连接"成一个,从而完成相同的总结果,但这一切本身呢?

在我看来,有两个循环会引入更少的缓存未命中和驱逐,因为循环使用的更多指令和数据适合缓存.我对吗?

假设:

  1. 与完成包含每个循环的整个循环的成本相比,成本f和g每个成本可以忽略不计
  2. f并且g每个缓存都使用大部分缓存,因此缓存将被一个又一个被调用的无效(单循环体版本就是这种情况)
  3. 英特尔酷睿双核CPU
  4. C语言源代码
  5. gcc 编译器,没有开关

迭代的集合是一个数学集合,而不是像存储器或列表那样的内存中的数字容器.请参阅下面的示例.

请不要回答"过早优化是邪恶的"字符:-)

我倡导的双循环版本的一个例子:

int j = 0, k = 0;

for(int i = 0; i < 1000000; i++)
{
    j += f(i);
}

for(int i = 0; i < 1000000; i++)
{
    k += g(i);
}
Run Code Online (Sandbox Code Playgroud)

c cpu optimization caching micro-optimization

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

Safari 10.1 - text-align:justify text以RTL语言进入边界之外

我有HTML标记,body元素中有一个文本段落.在CSS样式表中,我添加了:

body {
  text-align: justify;
  color: black;
  background-color: white;
  font-size: 23;

  letter-spacing:0.05pt;
  line-height: 125%;
  font-size: 1.25em;
  margin: 0.00em 20em;
  text-indent: 0em; 
  font-weight: normal;
  font-style: normal;
  direction: rtl;
}
Run Code Online (Sandbox Code Playgroud)

当我在Safari 10.1中加载它时,文本超出了正文边框.但旧版Safari(10.0)中的相同标记在Chrome 56.0.2924.87(x86_64)中运行良好.

如何修复标记和样式以使其在新的Safari中工作?

html css safari text-align justify

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

`class template Example <int>;`语句对C++ 11意味着什么?

我已经参考了cplusplus.com上的Explicit Template Instantiation文章,该文章给出了以下示例:

template <typename T> class Example
{
public:
    Example( T test )
    {
        _data = test;
    }
    void setTest(T test)
    {
        _data = T;
    }
private:
    T _data;
};

class template Example<int>;
class template Example<float>;
class template Example<double>;
Run Code Online (Sandbox Code Playgroud)

除了我试图将一个类型分配给成员变量_data = T而不是我认为应该是什么之类的东西看起来像是一个遗漏错误_data = test- 我不明白的是最后3行声明或指示的是什么编译器要做什么?

我知道模板是什么,用它们构建程序,并且一般都知道它们的实例化和专业化.我对后两者的理解可能有一些漏洞,但我通常使用例如template class Example<int>;表单而不是片段中显示的那个来指示显式模板实例化.

我已经尝试使用编译片段g++ -std=c++11 -pedantic,它编译得很好而没有警告(我先纠正了_date = T上面的错误).

在我对一个相关问题的答案进行评论之后,我仍然不确定该片段中最后3行中的任何一行是模板特化还是实例化.

我还尝试在ISO发布的C++ 11草案中找到相关的语法生成规则(一个允许template之后class …

c++ templates c++11

8
推荐指数
2
解决办法
587
查看次数

标签内的 HTML 按钮不会触发文件上传

我想使用标签来创建自定义文件输入:

    input[type="file"] {
        width: 0.1px;
        height: 0.1px;
        opacity: 0;
        overflow: hidden;
        position: absolute;
        z-index: -1;
    }
    
    section {
    	padding: 30px;
    	border: 1px solid lightgray;
    	width: 200px;
    	margin: 100px;
    }
    
    label {
        display: block;
    }
Run Code Online (Sandbox Code Playgroud)
    <section>
    	<label for="test">
    	    <input type="file" id="test">
    	    <button>Click me</button>
        </label>
    </section>
Run Code Online (Sandbox Code Playgroud)

但是,当我单击标签内的按钮时,它不会打开文件弹出窗口,只有当我单击标签外部时,它才起作用。我怎样才能做到这一点?

html javascript css

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

如何可靠地识别Internet上的用户?

我知道这是一个很大的问题.事实上,它可能用于一些SO社区维基.

无论如何,我正在运行一个不使用显式身份验证的网站.这是公开的,对所有人开放.但是,由于服务的性质,一些用户需要因不当行为而被锁定.

我目前正在阻止IP地址,但我知道许多人故意重置他们的DHCP客户端缓存以让他们的ISP为他们分配新地址.这是事实吗?对于一些想要规避拒绝访问的人来说,我认为这肯定是一种利润丰厚的可能性.因此,IP成为处理此问题的次优方式.但没有别的,是吗?

MAC地址不能在WAN上生存(从跳到跳变?),即使他们这样做了 - 这些也可能是欺骗性的,尽管我认为不如IP更新容易.

饼干甚至Flash饼干都是不可能的,因为有大量的"教程"如何擦除这些,并且那些打算在互联网上造成严重破坏的人非常清楚并且能够很好地应对我将采用的基本措施.

还有什么可以依靠的吗?我正在考虑启发式分析 - 从客户端收集可用数据并形成一些关键,但还没有实现它 - 它是一个选项吗?

cookies networking profiling identification

7
推荐指数
1
解决办法
694
查看次数

可以用Java控制对象的身份,如果是,如何控制?

这是一个简单的编程问题.我不是Java专家.假设我使用自定义类Company和Employee的对象,方式与许多RDBMS示例的方式类似:

class Employee
{
    Company company;
}

class Company
{
    String name;
}
Run Code Online (Sandbox Code Playgroud)

我需要保证不同的Company对象具有唯一的名称 - 即没有两个这样的对象可能具有相同的名称,因为从我的角度来看它没有任何意义,也只是吃内存 - 如果两个员工在IBM工作,那么有一个单个Company对象name,期间.

我现在的想法是将Company构造函数设置为私有 - 以便将具有任意名称的公司对象分配的工作委托给受信任的方法 - 假设它将拒绝任何后续尝试创建具有已存在的名称的对象或返回现有的或新的对象(必要时创建一个).

问题是,我不确定如何优雅地完成这一任务.一件好事就是O(n)每次Company请求具有名称的对象时都不必进行查找- 所以为了方便我可能会使用哈希映射或二叉树吗?我还想覆盖Company识别对象的方式- 这导致我:我会覆盖Object.equals和/或Object.hashCode方法吗?

java identity hashmap map

7
推荐指数
2
解决办法
206
查看次数