-
Python编译成Pyc和Pyo文件
什么是pyc文件和pyo文件
pyc文件是Python的字节码(byte code)文件,是一种二进制文件。pyc文件跨平台,由python的虚拟机加载执行。pyc文件与Python的版本有关,不同版本的Python编译出的pyc文件不同。
pyo文件是优化(optimize)后的字节码文件。
编译成pyc文件
可以在命令行执行以下命令来将Python源码文件编译成pyc文件:
python -m py_compile $filename
其中,
$filename
是要编译的Python源码文件名。也可以编写一下脚本来将Python源码文件编译成pyc文件:
-
C和C++中的sleep函数
sleep
这一功能在不同的编译器中实现不同,API也有差别。GCC编译器的实现
GCC编译器中,sleep定义在
<unistd.h>
中。函数原型:/* The sleep() function is, perhaps, the most commonly used of all the * process/thread suspension APIs; it provides support for specification * of suspension periods ranging from 1 second to ~136 years. (However, * POSIX recommends limiting the maximum period to 65535 seconds, to * maintain portability to platforms with only 16-bit ints). */ unsigned _cdecl __MINGW_NOTHROW sleep( unsigned );
注意,在GCC的实现中,
sleep
的单位为秒(second)。 -
Haskell GHCi使用
What’s GHC ?
GHC(Glasgow Haskell Compiler): an interactive and batch compilation system for the Haskell 98 language.
GHC has two main components: an interactive Haskell interpreter (also known as GHCi), and a batch compiler, described throughout. In fact, GHC consists of a single program which is just run with different options to provide either the interactive or the batch system.
What’s GHCi ?
GHCi是一个GHC的交互式环境,在GHCi中可以交互式地求得对Haskell表达式的值,Haskell程序也可以在GHCi中被解释。GCHi还包含了一个交互式的Haskell调试器。
GHCi的常用命令:
-
C语言中的函数指针
函数指针是C语言的灵魂之一,基于C语言实现的面向对象,底层都以函数指针为基础。
函数指针的定义
C语言中,可以通过以下方式定义函数指针:
type (*fn)(args)
其中,
fn
为指针变量名,type
为指针所指向的函数的返回值类型,args
为指针所指向的函数的参数列表。可以通过&
运算符对函数指针赋值,通过(*fn)()
的方式调用。举例: -
C和C++中的回调函数
回调函数(Callback Functions)
回调函数是指一个通过函数指针调用的函数。回掉函数不是由该函数的实现方法直接调用,而是在特定时间或条件发生时由另一方调用的,用于对该事件或条件进行响应。
回调函数的简单实现
C和C++中,可以通过函数指针的方式实现回调函数。如下例:
-
Grep
指定要搜索的单词
grep -w "word"
搜索以特定字符串开头的单词
grep '\<word'
搜索以特定字符串结尾的单词
grep 'word\>'
搜索以特定字符串开头的行
-
Python Decorator
Decorator, 装饰器。Decorator的用途在于允许在函数和类中嵌入或者修改代码。
classmethod and staticmethod
staticmethod(function)
这将返回一个function的静态方法。把类的一个方法的声明为静态方法,具体用法如下:
class C: @staticmethod def f(arg1, arg2, ...): ...
或者
class C: def f(arg1, arg2, ...): ... f = staticmethod(f)
-
C语言控制台程序光标位置与文字颜色
Windows平台
控制光标定位
Windows环境下可以通过调用WIN32 API来实现光标定位,具体实现如下:
#include <windows.h> void gotoxy(int x, int y) { COORD cursorPosition; cursorPosition.X = x; cursorPosition.Y = y; // COORD cursorPosition = {x, y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cursorPosition); }
注意:X, Y 的值都是从
0
开始的。 -
Manacher算法
Manacher算法是一个用来求解最长回文子串(Longest Palindromic Substring)的高效算法。其核心是在枚举回文字串的中心位置,并在计算其对应的回文子串时充分前 面的已经算出来的结果。
-
树的最长路径
树的最长路问题是一类求解树上两点之间最长距离的问题。针对此问题,有这样两类算法:DFS求解和树形DP。本文将以 HihoCoder 1050 : 树中的最长路 一题为例, 详细阐述这两种解法。
Subscribe via RSS