分类 技术 下的文章

转载自《浪潮之巅》第十章第四节

世界科技史上最了不起的、最可惜的、也许也是最失败的项目之一就是以摩托罗拉牵头的铱星计划。

为了夺得对世界移动通信市场的主动权,并实现在世界任何地方使用无线手机通信,以摩托罗拉为首的美国一些公司在政府的帮助下,于1987年提出的新一代卫星移动通信星座系统。我们知道,当今的移动通信最终要通过通信卫星来传输信息,为了保证在任何时候卫星能够收发信号,卫星必须保持和地球的相对位置不变。所有的同步通信卫星都必须挂在离地球三万多公里高的赤道上空。同时在地面建立很多卫星基站来联络手机和卫星。如果一个地方没有基站,比如沙哈拉沙漠里,那么手机就没有信号,无法使用。铱星计划和传统的同步通信卫星系统不同,新的设计是由77颗低卫星组成一个覆盖全球的卫星系统。每个卫星比同步通信卫星小得多,重量在600-700公斤左右,每颗卫星有三千多个信道,可以和手机直接通信(当然还要互相通信)。因此,它可以保证在地球任何地点实现移动通信。由于金属元素铱有77个电子,这项计划就被称为了铱星计划,虽然后来卫星的总数降到了66个。

- 阅读剩余部分 -

介绍

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即可。

事情起源于一次比赛中大佬的标程无法用sublime直接编译,错误提示如下:

唔,原来是sublime自带的c++编译系统没有-std=c++11的选项。

先看看自带的c++编译系统是怎么配置的。

- 阅读剩余部分 -