2017年8月

介绍

LNMP 由以下四个部分构成:

  • Linux 是运行下面三个软件的操作系统。
  • Nginx 是一款面向性能设计的 HTTP 服务器,相较于 Apache、lighttpd 具有占有内存少,稳定性高等优势。
  • MySQL 是一款性能高、成本低、可靠性好的数据库。
  • PHP 是目前常用于编写网页的脚本语言。

本文将一步一步搭建 LNMP 服务。

- 阅读剩余部分 -

杭电多校后标程里经常看见大神的代码里有断言函数,像这样:assert(a[1] == 1),便了解了一下断言函数。

形式:void assert (int expression);

头文件:assert.h

当括号内表达式为真时继续运行程序,为假时向系统的错误设备抛出一个错误,并退出程序。

例程:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    freopen("input.txt","r",stdin);
    char a = 'N';
    assert(a != 'N');
    cout << a << endl;
    cout << __FUNCTION__ << ", " << __LINE__ << endl;
    return 0;
}

断言括号内的表达式为假,所以运行结果:

Assertion failed!

Program: C:\Users\syf\src\ACM\test.exe
File: C:\Users\syf\src\ACM\test.cpp, Line 8

Expression: a != 'N'

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

此时没有执行9、10行的语句。

大量断言函数会减缓程序运行速度,且断言函数仅在debug时有作用。

取消代码中所有断言时在#include <assert.h>语句前加上宏定义#define NDEBUG即可。