编程技巧总结

简介: 编程技巧总结

编译与运行


创建run.bat并输入如下代码:


@echo off

set path=c:mingwbin

g++ -g 274.cpp -o 274.exe

if errorlevel == 1 goto :next

274.exe

:next



  然后在终端中运行run即可


  


对拍


创建pai.bat并输入如下代码:


@echo off

set path=c:mingwbin

g++ -g makedata.cpp -o makedata.exe

g++ -g 1.cpp -o 1.exe

g++ -g 2.cpp -o 2.exe

:loop

set path=c:mingwbin

makedata.exe

1.exe

2.exe

set path=c:windowssystem32

fc read1.out read2.out

if errorlevel == 1 pause

goto loop


    


开栈


//Windows下代码:

int __size__=20<<20;//20MB

char __p__=(char)malloc(__size__)+__size__;

__asm__("movl %0, %%espn"::"r"(__p__));

//linux下代码:

pragma comment(linker, "/STACK:102400000,102400000")


常数优化


1、选几个主要的循环,定义循环变量为register int


2、循环中使用++i,而不是i++


3、循环展开,一般展开4层足矣


4、使用读入优化和输出优化


5、如果某些OJ不开O2的话,你可以使用如下代码强制开O2


#pragma GCC optimize("-O2")


inline int add(int a,int b){return (a+=b)>=mod?a-mod:a;}

inline int sub(int a,int b){return (a-=b)<0?a+mod:a;}

inline int mul(int a,int b){return 1LLab%mod;}



6、取模运算建议这样写:(这样避免了使用long long以及尽量少的使用%符号


gdb调试


//在终端里运行:

$ gdb 文件名.exe

$ b 13 //在13行设置断点

$ r //运行至断点

$ n //单步跟踪

$ s //进入函数

$ p a //输出变量a的值

云服务器ECS地址:阿里云·云小站


相关文章
|
6月前
|
存储 算法 Java
程序员必知:基本程序设计
程序员必知:基本程序设计
30 0
|
7月前
|
机器学习/深度学习 网络协议 数据库
Python编程实战:解决常见编程问题
```markdown Python编程入门指南:涵盖文件操作、列表操作、字符串处理、函数编写、异常处理、网络编程和数据库操作等实战案例。通过示例代码,学习如何读写文件、排序列表、转换字符串、创建函数、处理异常、构建TCP服务器及操作SQLite数据库,逐步掌握Python核心技能。 ```
|
7月前
|
Serverless 开发者 Python
Python编程中的函数式编程思想探究
【2月更文挑战第10天】传统的程序设计是以过程为中心,而函数式编程则将函数视为基本构建块,强调函数的纯洁性和不变性。本文将从Python编程语言的角度探讨函数式编程思想在实践中的应用,介绍函数式编程的概念、特点以及在Python中的具体实现方式,帮助读者更好地理解和运用函数式编程范式。
41 0
|
机器学习/深度学习 存储 算法
|
设计模式 算法 搜索推荐
C++的编程思想和进阶编程
● 一个模式描述了一个不断发生的问题以及这个问题的解决方案;模式是前人的设计经验上总结出来的对于一些普遍存在的问题提供的通用的解决方案;比如单例模式、观察者模式等 ● 软件中有很多模式 面向对象常见的23中设计模式; 反模式;企业应用架构模式等
55 0
编程问题
hessian方法重载导致报错
|
Java 程序员 编译器
【Java编程进阶】面向对象思想初识
之前我们学习了 C 语言,在使用 C 语言解决实际的问题时,我们会把解决问题的步骤封装成不同的函数,然后在需要使用时调用函数执行,这就是面向过程编程的思想。使用面向过程使程序的流程十分清楚,例如完成早上去上学这件事情,我们要粗略做以下的步骤,只要以函数的形式详细的完成每个步骤,就成功的解决了这个问题: - 起床 - 穿衣服 - 刷牙洗脸 - 上学 而面向对象中,我们可以抽象出一个学生类,该类中包含了上面的四个方法,此时我们并不需要按上面的步骤来完成。
102 1
【Java编程进阶】面向对象思想初识
|
存储 Java 编译器
手写C语言之基本概念及编程技巧总结(02)
手写C语言之基本概念及编程技巧总结
153 0
手写C语言之基本概念及编程技巧总结(02)
|
存储 编译器 C语言
手写C语言之基本概念及编程技巧总结(05)
手写C语言之基本概念及编程技巧总结
133 0
手写C语言之基本概念及编程技巧总结(05)
|
Java 编译器 Linux
手写C语言之基本概念及编程技巧总结(01)
手写C语言之基本概念及编程技巧总结(01)
299 0
手写C语言之基本概念及编程技巧总结(01)