zoukankan      html  css  js  c++  java
  • 无用知识列表

    程序运行

    • \(\rm{Windows}\) 的栈空间大小是 \(8~\mathrm{MB}\),可以使用指令 -Wl,--stack=268435456 将运行栈提升到 \(256~\mathrm{MB}\)
    • \(\rm{MacOS}\) 的栈空间一样是 \(8\mathrm{MB}\) ,且暂时找不到方法扩大。
    • \(\verb|vector<T>|\) 的占用空间大小 \(2^n \times \mathrm{sizeof}(\verb|T|)\)\(\verb|clear|\) 之后不会清空占用空间。
    • \(\verb|stack<T>, queue<T>, set<T>, map<T>|\) 的实际占用空间至少为 \(100 \times \mathrm{sizeof}(\verb|T|)\) 左右,也就是说即使 \(\verb|empty() == true|\),也是有空间占用的。这个问题涉及到 \(\rm{STL}\) 的底层实现,具体原因比较复杂。
    • 函数前 \(4\) 个参数是用寄存器传参的,之后的所有的都是用栈传参,栈效率远低于寄存器。
    • \(\verb|64bit|\) 机器上,参数都是 \(64\) 位的,也就是说,传进去一个 \(\verb|int|\) ,实际上会放大成 \(\verb|long long|\) ,因此 printf("%lld", int) 可以输出正确答案(雾)。但是这在 \(\verb|32bit|\) 上会错。
    • #pragma GCC optimize(2) 手动开 \(\rm{O2}\)
    • 火车头:
      #pragma GCC optimize(2)
      #pragma GCC optimize(3)
      #pragma GCC optimize("Ofast")
      #pragma GCC optimize("inline")
      #pragma GCC optimize("-fgcse")
      #pragma GCC optimize("-fgcse-lm")
      #pragma GCC optimize("-fipa-sra")
      #pragma GCC optimize("-ftree-pre")
      #pragma GCC optimize("-ftree-vrp")
      #pragma GCC optimize("-fpeephole2")
      #pragma GCC optimize("-ffast-math")
      #pragma GCC optimize("-fsched-spec")
      #pragma GCC optimize("unroll-loops")
      #pragma GCC optimize("-falign-jumps")
      #pragma GCC optimize("-falign-loops")
      #pragma GCC optimize("-falign-labels")
      #pragma GCC optimize("-fdevirtualize")
      #pragma GCC optimize("-fcaller-saves")
      #pragma GCC optimize("-fcrossjumping")
      #pragma GCC optimize("-fthread-jumps")
      #pragma GCC optimize("-funroll-loops")
      #pragma GCC optimize("-fwhole-program")
      #pragma GCC optimize("-freorder-blocks")
      #pragma GCC optimize("-fschedule-insns")
      #pragma GCC optimize("inline-functions")
      #pragma GCC optimize("-ftree-tail-merge")
      #pragma GCC optimize("-fschedule-insns2")
      #pragma GCC optimize("-fstrict-aliasing")
      #pragma GCC optimize("-fstrict-overflow")
      #pragma GCC optimize("-falign-functions")
      #pragma GCC optimize("-fcse-skip-blocks")
      #pragma GCC optimize("-fcse-follow-jumps")
      #pragma GCC optimize("-fsched-interblock")
      #pragma GCC optimize("-fpartial-inlining")
      #pragma GCC optimize("no-stack-protector")
      #pragma GCC optimize("-freorder-functions")
      #pragma GCC optimize("-findirect-inlining")
      #pragma GCC optimize("-fhoist-adjacent-loads")
      #pragma GCC optimize("-frerun-cse-after-loop")
      #pragma GCC optimize("inline-small-functions")
      #pragma GCC optimize("-finline-small-functions")
      #pragma GCC optimize("-ftree-switch-conversion")
      #pragma GCC optimize("-foptimize-sibling-calls")
      #pragma GCC optimize("-fexpensive-optimizations")
      #pragma GCC optimize("-funsafe-loop-optimizations")
      #pragma GCC optimize("inline-functions-called-once")
      #pragma GCC optimize("-fdelete-null-pointer-checks")
      
  • 相关阅读:
    两角和的正切
    积化和差与和差化积
    require.js的简单使用
    HTML、css、javascript、DOM编程
    SignalR长连接的简单用法
    【ESP8266】发送HTTP请求
    记录自己的第一篇博客
    1 为什么搭建.Net core下的云开发框架
    C#线程中LOCK的意义
    ping命令执行过程详解
  • 原文地址:https://www.cnblogs.com/juruohjr/p/15699578.html
Copyright © 2011-2022 走看看