C++ 报错:
0 1 2 |
...... error: default argument given for parameter 2 of ‘bool Array::sortAdd(std::string, int)’ [-fpermissive] ...... |
c++可以在类的声明中,也可以在函数定义中声明缺省参数,但不能既在类声明中又在函数定义中同时声明缺省参数。因此,将定义或声明中的任意一个缺省参数删除即可。
C++ 报错:
0 1 2 |
...... error: default argument given for parameter 2 of ‘bool Array::sortAdd(std::string, int)’ [-fpermissive] ...... |
c++可以在类的声明中,也可以在函数定义中声明缺省参数,但不能既在类声明中又在函数定义中同时声明缺省参数。因此,将定义或声明中的任意一个缺省参数删除即可。
用Express构建的几种流行的Node.js框架
在Express上构建了几种流行的Node.js框架:
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后再安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
$ ./configure --help `configure' configures GNU Autoconf 2.69 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help 显示帮助信息 --help=short 显示特定于此包的选项 --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...' messages --cache-file=FILE 在FILE中缓存测试结果 [默认:禁用] -C, --config-cache `--cache-file=config.cache'的别名 -n, --no-create 不创建输出文件 --srcdir=DIR 在DIR中找到源代码 [配置dir或 `..'] Installation directories: --prefix=PREFIX 在PREFIX中安装独立于体系结构的文件 [/usr/local] --exec-prefix=EPREFIX 在EPREFIX中安装依赖于体系结构的文件 [PREFIX] 默认情况下,' make install'将安装' /usr/local/bin', ' /usr/local/lib'等目录下的所有文件。 您可以使用“--prefix”指定“/usr/local”以外的安装前缀,例如“--prefix=$HOME”。 为了更好地控制,请使用下面的选项。 安装目录的微调: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/autoconf] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] 程序名称区: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names 系统类型: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] 可选包: --with-PACKAGE[=ARG] 使用包 [ARG=yes] --without-PACKAGE 不要使用的包 (same as --with-PACKAGE=no) --with-lispdir 覆盖默认的lisp目录 一些有影响的环境变量: M4 GNU M4 1.4.6或更高版本的文件。 默认为第一个程序' m4', ' gm4',或' gnum4'的路径满足Autoconf需求。 EMACS Emacs编辑器命令 EMACSLOADPATH Emacs库搜索路径 使用这些变量来覆盖' configure'所做的选择, 或帮助它找到具有非标准名称/位置(names/locations)的库和程序。 Report bugs to <bug-autoconf@gnu.org>. GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>. General help using GNU software: <http://www.gnu.org/gethelp/>. |
linux软件构建方法,linux软件构建顺序,程序构建方法,
很多时候,我们在网上下载的linux开源软件都会遇到一个问题,就是源码里面没有直接的makefile
,但是它有Makefile.am
和makefile.in
或者它有Makefile.am
和configure.in(或configure.ac)
。
具体操作步骤如下:
aclocal
,产生aclocal.m4
文件aclocal是一个perl 脚本程序,它的定义是:
0 |
# aclocal |
aclocal
根据configure.in
文件的内容,自动生成aclocal.m4
文件。而aclocal.m4
文件中,包含了生成configure
文件所必须的宏。 Continue reading
无头Chromium允许在无头/服务器环境中运行Chromium。预期的用例包括使用Chromium和Blink提供的所有现代Web平台功能,加载网页,提取元数据(例如DOM)以及从页面内容生成位图。
有两种使用无头铬的方法:
--headless
命令行标志启动普通的Chrome二进制文件(目前仅适用于Linux):
0 |
$ chrome --headless --remote-debugging-port = 9222 https://chromium.org |
当前,您还需要使用--disable-gpu
以避免因缺少Mesa库而导致错误。
http://localhost:9222
在另一个浏览器中导航至以打开DevTools界面,或使用Selenium之类的工具来驱动无头浏览器。Chrome 59附带了无头Chrome。这是在无头环境中运行Chrome浏览器的一种方式。本质上,没有Chrome即可运行Chrome!它将Chromium和Blink渲染引擎提供的所有现代Web平台功能引入命令行。
为什么这样有用?
无头浏览器是自动化测试和不需要可见UI外壳的服务器环境的绝佳工具。例如,您可能想对真实的网页运行一些测试,为其创建PDF,或者仅检查浏览器如何呈现URL。
无头模式入门的最简单方法是从命令行打开Chrome二进制文件。如果您已安装Chrome 59+,请使用以下--headless
标志启动Chrome :
无头浏览器(Headless browser)指没有用户图形界面的(GUI)的浏览器,目前广泛运用于web爬虫和自动化测试中。随着反爬虫和反反爬虫对抗技术的升级,越来越多的爬虫开始使用无头浏览器伪装成正常用户绕过反爬虫策略。
我们如何区分这些无头浏览器和正常浏览器?从Server Side分析用户行为进行检测是一劳永逸的方法,但成本和难度都很大。
不过通过无头浏览器的一些特性。我们也可以从从Client Side找出一些不同来。下面以醉受欢迎的PhantomJS(2.x版本)为例,介绍一些识别的方法,对于其他的无头浏览器,如Slimer JS这些方法也可以参考
编译器的选择(x86_amd64, amd64等的区别)
IDA Pro:Windows平台下的反汇编工具
常用的快捷键:(可参考IDA Pro Shortcuts)
快捷键 | 功能 |
空格 | 基础模式与图形模式切换,在代码段可用 |
n | 重命名操作 |
a | 转换为数组,即将选定的单个元素结合在一起 |
; | 添加注释(常用) |
x | Cross-reference,交叉参考 |
d | 改变解释数据的长度,可在db、dd、dw之间转换 |
u | 取消当前自定义的结构 |
Ctrl + s | 跳转至不同的段中 |
F1 | 使用指南 |
Shift+F12 | 显示字符串(常用) |
Shift+F7 | 显示目标文件的各个section |
Shift+F8 | 显示段寄存器信息 |
Shift+F4 | 显示所有的name |
F5 | 查看伪代码(常用) |