小编Foo*_*Bar的帖子

在PHP中将`null`与字符串连接是否安全?

我没有找到关于字符串和null文档之间的兼容性的声明,但是在PHP 5.5上尝试这个:

echo 'foo' . null . 'bar';
Run Code Online (Sandbox Code Playgroud)

打印出来foobar.

我想知道这种行为是保证还是"安全"(在SQL中,例如,它不是)?或者问另一种方式:null在连接字符串之前我是否需要检查?喜欢

echo 'foo' . (($mystring === null) ? '' : $mystring) . 'bar';
Run Code Online (Sandbox Code Playgroud)

php string null concatenation

21
推荐指数
1
解决办法
6043
查看次数

编译器找不到libxml/parser.h

我在Debian 8(Jessie),64位.我安装了libxml2-dev,现在坐在/usr/include/libxml2/libxml.

但是当我这样做时(就像libxml医生说的那样)

#include <libxml/parser.h>
Run Code Online (Sandbox Code Playgroud)

我只在编译时得到(有gcc)

fatal error: libxml/parser.h: no such file or directory
Run Code Online (Sandbox Code Playgroud)

注意:在另一台机器上,使用旧的64位Suse,它libxml2-dev位于完全相同的路径中,与新的Debian相比没有设置其他环境变量,它的工作原理非常好.使用完全相同的makefile从一台计算机迁移到另一台计算机时出现问题.我需要的所有其他-dev#include <path>在迁移之后(带有文档)在迁移之后(它们都已安装apt-get),只libxml2-dev在编译时找不到.

我需要做任何其他事情才能libxml2-dev看得见吗?

linux debian suse include libxml2

11
推荐指数
3
解决办法
2万
查看次数

CMake 中参数列表中的内联条件?

在 CMake 中是否可以以某种方式在参数列表中包含内联条件?

我想要的示例(整IF行不被解析,而是像字符串一样处理,但我希望它被解析):

LIST(APPEND myList
  foo
  bar
  IF(MINGW) hello ENDIF()
  cool
)
Run Code Online (Sandbox Code Playgroud)

而不是我现在拥有的

LIST(APPEND myList
  foo
  bar
)

IF(MINGW)
  LIST(APPEND myList hello)
ENDIF(MINGW)

LIST(APPEND myList cool)
Run Code Online (Sandbox Code Playgroud)

与示例类似的内容将使我的 CMakeLists.txt 文件在许多地方更容易阅读!特别是如果需要保留特定的顺序,有时如果没有内联条件,CMake 代码就会变得非常大,因为每次都需要重复相同的调用。

注意:我LIST在这里作为一个例子,这个问题也应该被视为其他函数的一般性问题!

inline cmake conditional-statements

6
推荐指数
2
解决办法
9453
查看次数

gnuplot:如何启用千位分隔符(数字分组)?

我使用的是德语 Windows 8.1 64 位和 gnuplot 4.6.5,使用svg终端。如果我绘制包含大数字(例如“一百万”)的数据文件,gnuplot 不会打印数字分组符号。

例如,如果我的数据文件的值约为一百万,我希望 y 轴上的数字显示为1.000.000.是群符号,而不是小数符号!),但 gnuplot 只给我1000000.

该选项set decimalsign locale仅更改小数点符号(整数和小数部分之间的分隔符,就像小数点符号1+1/2 = 1,5一样)。,但无论是设置decimalsign还是不调用该命令,都不会在图中显示数字分组符号。我只会变得丑陋1000000or1500000代替1.000.000or 1.500.000

我也尝试过

set decimal locale
set format y "%'f"
Run Code Online (Sandbox Code Playgroud)

这只是给了我标签“%'f”,而不是数字!每次抽动都只有“%'f”,一次又一次。它只是将格式字符串按原样打印到图中,根本不打印任何数字。控制台输出decimal_sign in locale is ,对于德语语言环境来说是正确的,因此 gnuplot 可以正确识别它。.在我的 Windows 控制面板中,千位分隔符和小数点均已正确设置,

手动设置 tic 是不可能的。也就是说,set ytics add ('1.000.000' 1e6)对于我来说,几十个抽动症是没有选择的。

如何在 gnuplot 中自动获取千位分隔符?

plot localization gnuplot

5
推荐指数
1
解决办法
4282
查看次数

减少MathJax大小

我想在我的网站上使用MathJax,该网站的网站空间有限,不应该有跨网站请求(隐私,加载时间).但是整个MathJax工具都是50+ MB.我真的需要它的一切吗?我已经删除了docs,test因为服务器上不需要这样做,但它们只有一些KB.

整个MathJax工具集的哪些部分我真的需要让它工作?我想我也可以删除unpacked文件夹(15+ MB)?还有什么我不需要节省空间?MathJax运行的基本要素是什么?

javascript size mathjax

5
推荐指数
1
解决办法
1052
查看次数

如何在PHP开头截断文件?

我有一个用 PHP 编写的简单记录器类。它写入的文件应该具有最大大小。我知道我可以用 截断文件ftruncate($filename, $size),但这会在最后删除内容。所以我想做的是以下内容:

if(filesize($filename) > $mySize) {
  //remove X bytes at BEGINNING of $filename
}

// append log message
$handle = fopen($filename, 'a+');
if($handle !== false) {
  fwrite($handle, $myMessage);
  fclose($handle);
}
Run Code Online (Sandbox Code Playgroud)

这样日志会随着时间的推移“滚动”文件,而不是无限增长(最终崩溃到 2GB,这signed int是 PHP的限制)。

删除文件开头而不必担心性能的最佳方法是什么?我认为将文件逐行读入另一个缓存文件很慢,特别是如果日志记录发生得相当频繁。有没有更好的办法?

php logging truncate file filesize

5
推荐指数
1
解决办法
1317
查看次数

如何更改由 gnuplot 生成的 svg 标签?

我真的很喜欢 gnuplot svg 输出,但是有没有办法定义gnuplot 生成的<title></title><desc></desc>标签?

标题默认为<title>Gnuplot</title>和描述为<desc>Produced by GNUPLOT 4.6 patchlevel 5</desc>(或分别使用的版本)。

有没有办法用 gnuplot 脚本代码更改这些,或者是编辑输出 svg 文件的唯一方法?

svg gnuplot

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

我是否需要将CFLAGS明确传递给gcc?

我阅读了很多教程,CFLAGS并查看了官方文档.他们所说的任何地方CFLAGS都是隐式的,但仍然在它们的示例makefile中明确地将它传递给编译器:

CFLAGS=-O2
gcc $(CFLAGS) -c foo.c -o foo.o
Run Code Online (Sandbox Code Playgroud)

那么,"隐含"一词在这种背景下意味着什么呢?如果我CFLAGS=-O2在我的makefile中声明,稍后再说gcc -c foo.c -o foo.o,是否-O2会激活(那么,它是否真的隐含)?如果是这样,为什么所有教程(包括官方文档)仍然在他们的示例中明确地传递它?

gcc makefile implicit cflags

3
推荐指数
1
解决办法
6380
查看次数

如何在名称短于n个字符的Linux上查找文件?

如何在Linux上找到文件名短于n个字符的文件?

例如,要使用某些东西,我会递归查找/home/myuser其中长度小于5个字符的所有文件名(因此,foo应找到一个带有名称的文件,但名称barbaz不是因为其名称长度超过4个字符) -我怎么能这样做?

linux find

3
推荐指数
2
解决办法
1729
查看次数

是否为所有情况准确定义了C++ 11 auto关键字?或者:汽车如何知道我的意图?

比方说,在C++ 11中,我做到了

auto a = 4;
Run Code Online (Sandbox Code Playgroud)

a是什么?的int(因为我经常读),一个unsigned int,一个short,一个long,一个size_t,一个char?是否auto始终定义了行为,它是否始终是每个编译器和每个体系结构上完全相同的类型(具有完全相同的位长!)?

另一个例子:

class A{};
class B:A{};
auto x = new B();
Run Code Online (Sandbox Code Playgroud)

会不会x是类型*B或类型的*A?每个编译器和平台上始终相同?两者都是完全合法的,编译器如何知道我打算使用哪一个?

是否有auto行为的确切列表?

c++ auto

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

TortoiseSVN - 全局忽略模式不适用于thumbs.db

我如何设法使TortoiseSVN(Windows 8上的64位)忽略所有Thumbs.db文件?我知道Settings-> Global Ignore Pattern存在.我进入了

*.db Thumbs.db thumbs.db
Run Code Online (Sandbox Code Playgroud)

在其他条目中,默认情况下.但是TortoiseSVN仍然不会忽略Thumbs.db文件.它们弹出为ToirtoiseSVN想要添加并提交到repo的新文件.

我是否需要更改其他设置?

svn windows tortoisesvn thumbnails svnignore

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

在 PHP7 中对直接调用的函数使用短表示法是否安全?

从 PHP7 开始,似乎可以像这样直接调用匿名函数:

(function () { echo 'Hello!'; })();
Run Code Online (Sandbox Code Playgroud)

我在一些开源代码库中偶然发现了这一点。我试图在 PHP 文档(包括变更日志和 RFC)中找到任何关于此的提示。似乎没有,似乎完全没有记录。

以这种方式调用函数是否安全,还是应该call_user_func();像过去那样使用?这是在某处记录的吗?

我知道这些问题和答案:

他们只是说它应该起作用以及它是如何起作用的。我知道这个。我的问题不是关于“如何”!这是关于这是否真的是一个官方的 PHP 功能,或者它是否只是“偶然”工作(因为它似乎没有记录)。

php

0
推荐指数
1
解决办法
51
查看次数