大学电脑配置记录

DEPRECATED

用g++默认编译python模块

I have python 2.73 and windows 7 .The solution that worked for me was:

Added mingw32’s bin directory to environment variable: append PATH with C:\programs\mingw\bin;
Created distutils.cfg located at C:\Python27\Lib\distutils\distutils.cfg containing:

[build]
compiler=mingw32

To deal with MinGW not recognizing the -mno-cygwin flag anymore, remove the flag in C:\Python27\Lib\distutils\cygwincompiler.py line 322 to 326, so it looks like this:

self.set_executables(compiler='gcc -O -Wall',
                     compiler_so='gcc -mdll -O -Wall',
                     compiler_cxx='g++ -O -Wall',
                     linker_exe='gcc',
                     linker_so='%s %s %s'
                                % (self.linker_dll, shared_option,
                                   entry_point))

一开始让我用MSVC当默认编译器,我是拒绝的…
但是后来发现g++问题还是很多,毕竟windows这个平台很难受…
很多开源的东西不兼容…

如果用MSVC默认编译python模块

安装python的时候是vc编译的,模块再改为mingw编译可能会导致问题:
在winx64下,gcc经常报错,它对python的原生支持并不好…

首先一定要是MSVC编译的Python, 最近又发现个WinPython..

  • Microsoft VS xx.0/VC 的目录加入到你的系统PATH
  • 找到 C:\Python27\Lib\distutils\msvc9compiler.py 这个文件[人家已经告诉你了是vc9咯]
  • 找到这个函数 get version嘛,意思很明白啦
def get_build_version():
    """Return the version of MSVC that was used to build Python.

    For Python 2.3 and up, the version number is included in
    sys.version.  For earlier versions, assume the compiler is MSVC 6.
    """
    prefix = "MSC v."
    i = sys.version.find(prefix)
    if i == -1:
        return 6
    i = i + len(prefix)
    s, rest = sys.version[i:].split(" ", 1)
    majorVersion = int(s[:-2]) - 6
    minorVersion = int(s[2:3]) / 10.0

    # I don't think paths are affected by minor version in version 6
    if majorVersion == 6:
        minorVersion = 0
    if majorVersion >= 6:
        return majorVersion + minorVersion
    # else we don't know what version of the compiler this is
    return None

下面开始改动
注意这一行 majorVersion = int(s[:-2]) - 6 在python命令行里输一下发现s是1500
哦,那就是这个计算公式不科学,为了方便起见,暴力改为

majorVersion = 11 # 11是我的版本vs2012

然后直接在最上面 return majorVersion 好啦,其他全注掉就ok

模版

#include <bits/stdc++.h>
#define _ ios_base::sync_with_stdio(0);cin.tie(0);
using namespace std;

int main() { _

    return 0;
}

MySQL Configurations

  • 默认配置default.ini
bind-address = 0.0.0.0
port = 3306
basedir = MYSQL_PATH
datadir = MYSQL_PATH
max_connections = 200

then mysqld -install to setup service

  • 修改root用户的密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('pwd');
  • 创建新用户
mysql> CREATE USER usernmae IDENTIFIED BY 'userpassword';

Ubuntu下风扇狂转

我的电脑是因为显卡问题

如果是AMD显卡, 可以去官方下载驱动

如果你的显卡是Nvidia的, 而且现在显卡有问题导致风扇有问题

BIOS里显卡先切成Switchable,然后进入系统

sudo su
vim /etc/modprobe.d/blacklist

把开源的 Nouveau 驱动加入黑名单、禁止启动(因为要使用 Nvidia 的私有驱动)。如果 /etc/modprobe.d/ 下有 nouveau-blacklist.conf,则编辑这个文件。在文件末尾添加blacklist nouveau

安装合适的驱动

sudo apt-get install nvidia-319 nvidia-settings-319 nvidia-prime

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator

重启后右上角多了一个nvidia的图标,单击这个LOGO,选择Quick switch graphics

win下完全管理员模式

gpedit.msc -> Windows 设置 -> 本地策略 -> 安全选项 -> 用户账户控制:以管理员批准模式运行所有管理员

Ubuntu 修复GRUB

  1. 进入LiveCD(Ubuntu), U盘即可
  2. sudo -i 切换到root
  3. mount 原来ubuntu系统根分区 /mnt
  4. 如果你给boot单独分区了, mount 原来ubuntu的boot分区 /mnt/boot
    5 grub-install --root-directory=/mnt /dev/sda, 如果是其他盘比如sdb就写sdb