XiZi's Blog
Windows Server 2012 OEM SLP keys
Windows Server 2012 Foundation ===================== RTMNG-7K8HQ-3QVVW-W8QKF-Q9H7D --- 00185-00477-08754-AAOEM --- ??? VXHGK-GRJQH-K7WVN-MTXP3-YBFHM --- 00185-65247-05792-ABOEM --- ??? (MUI locked to zh-CN) BDCBV-BQ27P-9PNJJ-BQJ96-KTJ3Y --- 00185-61015-53182-ABOEM --- ??? (MUI locked to zh-CN) 8MBNB-YB7W9-YV3VJ-7WMGG-MKH7D --- 00185-00000-00010-AAOEM --- ??? 96764-R7KXM-CJKJB-BNGCW-CPKX3 --- 00185-06266-38201-AAOEM -- ??? 2GDTN-RWTYX-TDK7V-4Q6K3-G8XX3 --- 00185-00000-00094-AAOEM -- ???
Windows Server 2012 Essentials ===================== MXHGN-GRJQH-K7WVV-MTXP3-YBFHT --- 00186-00000-00000-AAOEM --- ??? JXHGK-GRJQH-N7WVV-MTXP3-YBFHT --- 00186-08304-72192-ABOEM --- ???
Windows Server 2012 Standard ===================== VDNYM-JBKJ7-DC4X9-BT3QR-JHRGY --- 00184-00070-00000-AAOEM --- ??? BNHD9-KT7MY-4BX83-HTGM4-3C77J --- 00185-48475-45056-AAOEM --- ??? (MUI locked to zh-CN) 2G9DG-XKFR6-VG8D3-DN9T9-CDG98 --- 00185-48952-40532-AAOEM --- ??? (MUI locked to zh-CN)
Windows Server 2012 Datacenter ===================== B7RRX-RVN4P-PCPBM-89D8Y-X4PQH --- 00184-50100-21572-AAOEM --- ??? N67Y4-R7KXM-CJKJB-BHGCW-CPKXV --- 00184-50070-47113-AAOEM --- ???
Windows Storage Server 2012 Standard ===================== DXHGK-GRJQH-K7WVV-NTXP3-YBFGG --- 00182-85373-02912-ABOEM --- ??? N67T9-R7KXM-CJKJB-BHGCW-CPKW6 --- 00182-80070-47113-AAOEM --- ???
Windows Storage Server 2012 Workgroup ===================== CDNBD-9X68R-RRFYH-8G28W-82KXC --- 00183-30070-49169-AAOEM --- ???
Windows MultiPoint Server 2012 Standard ===================== KXHGK-GRJQN-K7WVV-MTXP3-YBFGB --- 00182-47717-51936-ABOEM --- ??? NDQGD-9X68R-RRFYH-8GB8W-82KWG --- 00181-20069-74811-AAOEM --- ???
Windows MultiPoint Server 2012 Premium ===================== RTDKG-7K8HQ-3QVVW-W8NKF-Q9H43 --- 00181-82704-22746-AAOEM --- ??? VNKYM-JBKJ7-DC4X9-BT3QR-JHRF3 --- 00181-80070-00000-AAOEM --- ??? QXHGN-GRJQH-K7WVV-MTXP3-YBFGD --- 00182-60000-00000-AAOEM --- ??? (MUI locked to zh-CN)
Build Firefox zh-CN Under CentOS6
Touch .mozconfig
# My first mozilla config mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@ mk_add_options MOZ_MAKE_FLAGS="-j6" mk_add_options MOZ_CO_LOCALE="zh-CN" #export L10NBASEDIR=@TOPSRCDIR@/l10n mk_add_options L10NBASEDIR=@TOPSRCDIR@/l10n ac_add_options --prefix=/usr ac_add_options --disable-tests ac_add_options --enable-ui-locale=zh-CN ac_add_options --with-system-zlib ac_add_options --with-system-jpeg ac_add_options --enable-official-branding #ac_add_options --with-l10n-base=@TOPSRCDIR@/l10n
Packages Needed:
yum install mesa-libGL-devel libXt-devel libcurl-devel \ alsa-lib-devel yasm dbus-glib-devel dbus-devel gtk2-devel \ zip unzip autoconf213 patch
Executing System Couplings Using the Command Line
To do this you’ll be running from the command line. Some details are in the Workbench documentation ( // System Coupling User’s Guide // Workflows for System Coupling // Executing System Couplings Using the Command Line) but I’ll provide more details here. I’ll assume you’re on Windows for now.
1. Create the MAPDL db file, Fluent cas file and System Coupling sci file. Creating the sci file is described in the documentation link above.
2. Create a simple Fluent journal file that starts Fluent in batch, reads the cas file and solves.
3. Create a simple MAPDL solver input file that resumes from the db file and solves.
4. Start the coupling service:
set PATH=%AWP_ROOT140%FrameworkbinWin64;%PATH%
“C:\Program Files\ANSYS Inc\v140\aisol\bin\winx64\Ansys.Services.SystemCoupling.exe” -inputFile -coupling.sci
5. Note the port and hostname in the scServer.scs file that gets created.
6. Starts the Fluent solver, e.g:
“C:\Program Files\ANSYS Inc\v140\fluent\ntbin\win64\fluent.exe” 3ddp -hidden
-driver null -scport=12345 –schost=hostname -scname=”Solution“ -i fluidflow.jou > FLUENT.out
rc "FFF-1.cas" /file/auto-save/df 10 /file/auto-save/rn "FFF-1.gz" /solve/set/ts 0.001 /solve/set/nots 100000 /solve/initialize/hyb-initialization (sc-solve) /exit
7. Start the MAPDL solver, e.g:
“C:\Program Files\ANSYS Incv\140\ansys\bin\winx64\ANSYS140.exe” -b -scport 12345 -schost hostname -scname “Solution 1″ -i structural.dat -o ANSYS.out
PS:
Here is a batch file which can run above process sequensly.
@echo off setlocal enabledelayedexpansion del "scServer.scs" 2>nul start /b Ansys.Services.SystemCoupling.exe -inputFile sc.sci :WAIT_SCSERVER if not exist "scServer.scs" (ping -n 1 127.0.0.10 2>nul 1>nul && goto WAIT_SCSERVER) Set /p scinfo=<"scServer.scs" if "%scinfo%"=="" goto WAIT_SCSERVER for /f "tokens=1,2 delims=@" %%i in ("%scinfo%") do ( set SCPORT=%%i set SCHOST=%%j ) if !SCPORT!=="" goto WAIT_SCSERVER if !SCHOST!=="" goto WAIT_SCSERVER echo %SCHOST% %SCPORT% call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64 REM start /b ANSYS145.exe -dis -mpi intelmpi -np 4 -b -scport !SCPORT! -schost !SCHOST! -scname "Solution 1" -i structural.dat -o ANSYS.out start /b ANSYS145.exe -b -scport !SCPORT! -schost !SCHOST! -scname "Solution 1" -i structural.dat -o ANSYS.out -np 6 start /b fluent.exe 3ddp -t4 -scport=!SCPORT! -schost=!SCHOST! -scname="Solution" -i fj.jou -wait > FLUENT.out goto :eof
KMS Client Setup Keys
原文链接:http://technet.microsoft.com/en-us/library/jj612867.aspx
Computers that are running volume licensing editions of Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008 are, by default, KMS clients with no additional configuration needed.
If you are converting a computer from a KMS host, MAK, or retail edition of Windows to a KMS client, install the applicable setup key (GVLK) from the following tables.
Note |
---|
To install a client setup key, open an administrative command prompt on the client, type slmgr /ipk <setup key> and press ENTER.
|
Operating system edition | KMS Client Setup Key |
---|---|
Windows 8 Professional |
NG4HW-VH26C-733KW-K6F98-J8CK4 |
Windows 8 Professional N |
XCVCF-2NXM9-723PB-MHCB7-2RYQQ |
Windows 8 Enterprise |
32JNW-9KQ84-P47T8-D8GGY-CWCK7 |
Windows 8 Enterprise N |
JMNMF-RHW7P-DMY6X-RF3DR-X2BQT |
Windows Server 2012 Core |
BN3D2-R7TKB-3YPBD-8DRP2-27GG4 |
Windows Server 2012 Core N |
8N2M2-HWPGY-7PGT9-HGDD8-GVGGY |
Windows Server 2012 Core Single Language |
2WN2H-YGCQR-KFX6K-CD6TF-84YXQ |
Windows Server 2012 Core Country Specific |
4K36P-JN4VD-GDC6V-KDT89-DYFKP |
Windows Server 2012 Server Standard |
XC9B7-NBPP2-83J2H-RHMBY-92BT4 |
Windows Server 2012 Standard Core |
XC9B7-NBPP2-83J2H-RHMBY-92BT4 |
Windows Server 2012 MultiPoint Standard |
HM7DN-YVMH3-46JC3-XYTG7-CYQJJ |
Windows Server 2012 MultiPoint Premium |
XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G |
Windows Server 2012 Datacenter |
48HP8-DN98B-MYWDG-T2DCC-8W83P |
Windows Server 2012 Datacenter Core |
48HP8-DN98B-MYWDG-T2DCC-8W83P |
Operating system edition | KMS Client Setup Key |
---|---|
Windows 7 Professional |
FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4 |
Windows 7 Professional N |
MRPKT-YTG23-K7D7T-X2JMM-QY7MG |
Windows 7 Professional E |
W82YF-2Q76Y-63HXB-FGJG9-GF7QX |
Windows 7 Enterprise |
33PXH-7Y6KF-2VJC9-XBBR8-HVTHH |
Windows 7 Enterprise N |
YDRBP-3D83W-TY26F-D46B2-XCKRJ |
Windows 7 Enterprise E |
C29WB-22CC8-VJ326-GHFJW-H9DH4 |
Windows Server 2008 R2 Web |
6TPJF-RBVHG-WBW2R-86QPH-6RTM4 |
Windows Server 2008 R2 HPC edition |
TT8MH-CG224-D3D7Q-498W2-9QCTX |
Windows Server 2008 R2 Standard |
YC6KT-GKW9T-YTKYR-T4X34-R7VHC |
Windows Server 2008 R2 Enterprise |
489J6-VHDMP-X63PK-3K798-CPX3Y |
Windows Server 2008 R2 Datacenter |
74YFP-3QFB3-KQT8W-PMXWJ-7M648 |
Windows Server 2008 R2 for Itanium-based Systems |
GT63C-RJFQ3-4GMB6-BRFB9-CB83V |
Operating system edition | KMS Client Setup Key |
---|---|
Windows Vista Business |
YFKBB-PQJJV-G996G-VWGXY-2V3X8 |
Windows Vista Business N |
HMBQG-8H2RH-C77VX-27R82-VMQBT |
Windows Vista Enterprise |
VKK3X-68KWM-X2YGT-QR4M6-4BWMV |
Windows Vista Enterprise N |
VTC42-BM838-43QHV-84HX6-XJXKV |
Windows Web Server 2008 |
WYR28-R7TFJ-3X2YQ-YCY4H-M249D |
Windows Server 2008 Standard |
TM24T-X9RMF-VWXK6-X8JC9-BFGM2 |
Windows Server 2008 Standard without Hyper-V |
W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ |
Windows Server 2008 Enterprise |
YQGMW-MPWTJ-34KDK-48M3W-X4Q6V |
Windows Server 2008 Enterprise without Hyper-V |
39BXF-X8Q23-P2WWT-38T2F-G3FPG |
Windows Server 2008 HPC |
RCTX3-KWVHP-BR6TB-RB6DM-6X7HP |
Windows Server 2008 Datacenter |
7M67G-PC374-GR742-YH8V4-TCBY3 |
Windows Server 2008 Datacenter without Hyper-V |
22XQ2-VRXRG-P8D42-K34TD-G3QQC |
Windows Server 2008 for Itanium-Based Systems |
4DWFP-JF3DJ-B7DTH-78FJB-PDRHK |
Windows系统下的ANSYS Fluent多机并行配置要点。
1.在每台机上上相同的目录安装ANSYS,这里假设为:D:\ANSYS.INC
2.在设置共享,我们共享计算实例所处的文件夹为workspace:这里为:\\RXF-WS2008R2\ANSYS Inc\workspace
3.启动fluent.exe,配置如图
makefile 模板
本文推荐了一个用于对 C/C++ 程序进行编译和连接以产生可执行程序的通用 Makefile。
在使用 Makefile 之前,只需对它进行一些简单的设置即可;而且一经设置,即使以后对源程序文件有所增减一般也不再需要改动 Makefile。因此,即便是一个没有学习过 Makefile 书写规则的人,也可以为自己的 C/C++ 程序快速建立一个可工作的 Makefile。
这个 Makefile 可以在 GNU Make 和 GCC 编译器下正常工作。但是不能保证对于其它版本的 Make 和编译器也能正常工作。
此 Makefile 的使用方法如下:
程序目录的组织
尽量将自己的源程序集中在一个目录中,并且把 Makefile 和源程序放在一起,这样用起来比较方便。当然,也可以将源程序分类存放在不同的目录中。
在程序目录中创建一个名为 Makefile 的文本文件,将后面列出的 Makefile 的内容复制到这个文件中。(注意:在复制的过程中,Makfile 中各命令前面的 Tab 字符有可能被转换成若干个空格。这种情况下需要把 Makefile 命令前面的这些空格替换为一个 Tab。)
将当前工作目录切换到 Makefile 所在的目录。目前,这个 Makefile 只支持在当前目录中的调用,不支持当前目录和 Makefile 所在的路径不是同一目录的情况。
指定可执行文件
程序编译和连接成功后产生的可执行文件在 Makefile 中的 PROGRAM 变量中设定。这一项不能为空。为自己程序的可执行文件起一个有意义的名子吧。
指定源程序
要编译的源程序由其所在的路径和文件的扩展名两项来确定。由于头文件是通过包含来使用的,所以在这里说的源程序不应包含头文件。
程序所在的路径在 SRCDIRS 中设定。如果源程序分布在不同的目录中,那么需要在 SRCDIRS 中一一指定,并且路径名之间用空格分隔。
在 SRCEXTS 中指定程序中使用的文件类型。C/C++ 程序的扩展名一般有比较固定的几种形式:.c、.C、.cc、.cpp、.CPP、.c++、.cp、或者.cxx(参见 man gcc)。扩展名决定了程序是 C 还是 C++ 程序:.c 是 C 程序,其它扩展名表示 C++ 程序。一般固定使用其中的一种扩展名即可。但是也有可能需要使用多种扩展名,这可以在 SOURCE_EXT 中一一指定,各个扩展名之间用空格分隔。
虽然并不常用,但是 C 程序也可以被作为 C++ 程序编译。这可以通过在 Makefile 中设置 CC = $(CXX) 和 CFLAGS = $(CXXFLAGS) 两项即可实现。
这个 Makefile 支持 C、C++ 以及 C/C++ 混合三种编译方式:
如果只指定 .c 扩展名,那么这是一个 C 程序,用 $(CC) 表示的编译命令进行编译和连接。
如果指定的是除 .c 之外的其它扩展名(如 .cc、.cpp、.cxx 等),那么这是一个 C++ 程序,用 $(CXX) 进行编译和连接。
如果既指定了 .c,又指定了其它 C++ 扩展名,那么这是 C/C++ 混合程序,将用 $(CC) 编译其中的 C 程序,用 $(CXX) 编译其中的 C++ 程序,最后再用 $(CXX) 连接程序。
这些工作都是 make 根据在 Makefile 中提供的程序文件类型(扩展名)自动判断进行的,不需要用户干预。
指定编译选项
编译选项由三部分组成:预处理选项、编译选项以及连接选项,分别由 CPPFLAGS、CFLAGS与CXXFLAGS、LDFLAGS 指定。
CPPFLAGS 选项可参考 C 预处理命令 cpp 的说明,但是注意不能包含 -M 以及和 -M 有关的选项。如果是 C/C++ 混合编程,也可以在这里设置 C/C++ 的一些共同的编译选项。
CFLAGS 和 CXXFLAGS 两个变量通常用来指定编译选项。前者仅仅用于指定 C 程序的编译选项,后者仅仅用于指定 C++ 程序的编译选项。其实也可以在两个变量中指定一些预处理选项(即一些本来应该放在 CPPFLAGS 中的选项),和 CPPFLAGS 并没有明确的界限。
连接选项在 LDFLAGS 中指定。如果只使用 C/C++ 标准库,一般没有必要设置。如果使用了非标准库,应该在这里指定连接需要的选项,如库所在的路径、库名以及其它联接选项。
现在的库一般都提供了一个相应的 .pc 文件来记录使用库所需要的预编译选项、编译选项和连接选项等信息,通过 pkg-config 可以动态提取这些选项。与由用户显式指定各个选项相比,使用 pkg-config 来访问库提供的选项更方便、更具通用性。在后面可以看到一个 GTK+ 程序的例子,其编译和连接选项的指定就是用 pkg-config 实现的。
编译和连接
上面的各项设置好之后保存 Makefile 文件。执行 make 命令,程序就开始编译了。
命令 make 会根据 Makefile 中设置好的路径和文件类型搜索源程序文件,然后根据文件的类型调用相应的编译命令、使用相应的编译选项对程序进行编译。
编译成功之后程序的连接会自动进行。如果没有错误的话最终会产生程序的可执行文件。
注意:在对程序编译之后,会产生和源程序文件一一对应的 .d 文件。这是表示依赖关系的文件,通过它们 make 决定在源程序文件变动之后要进行哪些更新。为每一个源程序文件建立相应的 .d 文件这也是 GNU Make 推荐的方式。
Makefile 目标(Targets)
下面是关于这个 Makefile 提供的目标以及它所完成的功能:
make
编译和连接程序。相当于 make all。
make objs
仅仅编译程序产生 .o 目标文件,不进行连接(一般很少单独使用)。
make clean
删除编译产生的目标文件和依赖文件。
make cleanall
删除目标文件、依赖文件以及可执行文件。
make rebuild
重新编译和连接程序。相当于 make clean && make all。
关于这个 Makefile 的实现原理不准备详细解释了。如果有兴趣的话,可参考文末列出的“参考资料”。
############################################################# # Generic Makefile for C/C++ Program # # License: GPL (General Public License) # Author: whyglinux <whyglinux AT gmail DOT com> # Date: 2006/03/04 (version 0.1) # 2007/03/24 (version 0.2) # 2007/04/09 (version 0.3) # 2007/06/26 (version 0.4) # 2008/04/05 (version 0.5) # # Description: # ------------ # This is an easily customizable makefile template. The purpose is to # provide an instant building environment for C/C++ programs. # # It searches all the C/C++ source files in the specified directories, # makes dependencies, compiles and links to form an executable. # # Besides its default ability to build C/C++ programs which use only # standard C/C++ libraries, you can customize the Makefile to build # those using other libraries. Once done, without any changes you can # then build programs using the same or less libraries, even if source # files are renamed, added or removed. Therefore, it is particularly # convenient to use it to build codes for experimental or study use. # # GNU make is expected to use the Makefile. Other versions of makes # may or may not work. # # Usage: # ------ # 1. Copy the Makefile to your program directory. # 2. Customize in the "Customizable Section" only if necessary: # * to use non-standard C/C++ libraries, set pre-processor or compiler # options to <MY_CFLAGS> and linker ones to <MY_LIBS> # (See Makefile.gtk+-2.0 for an example) # * to search sources in more directories, set to <SRCDIRS> # * to specify your favorite program name, set to <PROGRAM> # 3. Type make to start building your program. # # Make Target: # ------------ # The Makefile provides the following targets to make: # $ make compile and link # $ make NODEP=yes compile and link without generating dependencies # $ make objs compile only (no linking) # $ make tags create tags for Emacs editor # $ make ctags create ctags for VI editor # $ make clean clean objects and the executable file # $ make distclean clean objects, the executable and dependencies # $ make help get the usage of the makefile # #=========================================================================== ## Customizable Section: adapt those variables to suit your program. ##========================================================================== # The pre-processor and compiler options. MY_CFLAGS = # The linker options. MY_LIBS = # The pre-processor options used by the cpp (man cpp for more). CPPFLAGS = -Wall # The options used in linking as well as in any direct use of ld. LDFLAGS = # The directories in which source files reside. # If not specified, only the current directory will be serached. SRCDIRS = # The executable file name. # If not specified, current directory name or `a.out' will be used. PROGRAM = ## Implicit Section: change the following only when necessary. ##========================================================================== # The source file types (headers excluded). # .c indicates C source files, and others C++ ones. SRCEXTS = .c .C .cc .cpp .CPP .c++ .cxx .cp # The header file types. HDREXTS = .h .H .hh .hpp .HPP .h++ .hxx .hp # The pre-processor and compiler options. # Users can override those variables from the command line. CFLAGS = -g -O2 CXXFLAGS= -g -O2 # The C program compiler. #CC = gcc # The C++ program compiler. #CXX = g++ # Un-comment the following line to compile C programs as C++ ones. #CC = $(CXX) # The command used to delete file. #RM = rm -f ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = ## Stable Section: usually no need to be changed. But you can add more. ##========================================================================== SHELL = /bin/sh EMPTY = SPACE = $(EMPTY) $(EMPTY) ifeq ($(PROGRAM),) CUR_PATH_NAMES = $(subst /,$(SPACE),$(subst $(SPACE),_,$(CURDIR))) PROGRAM = $(word $(words $(CUR_PATH_NAMES)),$(CUR_PATH_NAMES)) ifeq ($(PROGRAM),) PROGRAM = a.out endif endif ifeq ($(SRCDIRS),) SRCDIRS = . endif SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS)))) HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS)))) SRC_CXX = $(filter-out %.c,$(SOURCES)) OBJS = $(addsuffix .o, $(basename $(SOURCES))) DEPS = $(OBJS:.o=.d) ## Define some useful variables. DEP_OPT = $(shell if `$(CC) --version | grep "GCC" >/dev/null`; then \ echo "-MM -MP"; else echo "-M"; fi ) DEPEND = $(CC) $(DEP_OPT) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) DEPEND.d = $(subst -g ,,$(DEPEND)) COMPILE.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c COMPILE.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c LINK.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) LINK.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) .PHONY: all objs tags ctags clean distclean help show # Delete the default suffixes .SUFFIXES: all: $(PROGRAM) # Rules for creating dependency files (.d). #------------------------------------------ %.d:%.c @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.C @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.cc @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.cpp @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.CPP @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.c++ @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.cp @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ %.d:%.cxx @echo -n $(dir $<) > $@ @$(DEPEND.d) $< >> $@ # Rules for generating object files (.o). #---------------------------------------- objs:$(OBJS) %.o:%.c $(COMPILE.c) $< -o $@ %.o:%.C $(COMPILE.cxx) $< -o $@ %.o:%.cc $(COMPILE.cxx) $< -o $@ %.o:%.cpp $(COMPILE.cxx) $< -o $@ %.o:%.CPP $(COMPILE.cxx) $< -o $@ %.o:%.c++ $(COMPILE.cxx) $< -o $@ %.o:%.cp $(COMPILE.cxx) $< -o $@ %.o:%.cxx $(COMPILE.cxx) $< -o $@ # Rules for generating the tags. #------------------------------------- tags: $(HEADERS) $(SOURCES) $(ETAGS) $(ETAGSFLAGS) $(HEADERS) $(SOURCES) ctags: $(HEADERS) $(SOURCES) $(CTAGS) $(CTAGSFLAGS) $(HEADERS) $(SOURCES) # Rules for generating the executable. #------------------------------------- $(PROGRAM):$(OBJS) ifeq ($(SRC_CXX),) # C program $(LINK.c) $(OBJS) $(MY_LIBS) -o $@ @echo Type ./$@ to execute the program. else # C++ program $(LINK.cxx) $(OBJS) $(MY_LIBS) -o $@ @echo Type ./$@ to execute the program. endif ifndef NODEP ifneq ($(DEPS),) sinclude $(DEPS) endif endif clean: $(RM) $(OBJS) $(PROGRAM) $(PROGRAM).exe distclean: clean $(RM) $(DEPS) TAGS # Show help. help: @echo 'Generic Makefile for C/C++ Programs (gcmakefile) version 0.5' @echo 'Copyright (C) 2007, 2008 whyglinux <whyglinux@hotmail.com>' @echo @echo 'Usage: make [TARGET]' @echo 'TARGETS:' @echo ' all (=make) compile and link.' @echo ' NODEP=yes make without generating dependencies.' @echo ' objs compile only (no linking).' @echo ' tags create tags for Emacs editor.' @echo ' ctags create ctags for VI editor.' @echo ' clean clean objects and the executable file.' @echo ' distclean clean objects, the executable and dependencies.' @echo ' show show variables (for debug use only).' @echo ' help print this message.' @echo @echo 'Report bugs to <whyglinux AT gmail DOT com>.' # Show variables (for debug use only.) show: @echo 'PROGRAM :' $(PROGRAM) @echo 'SRCDIRS :' $(SRCDIRS) @echo 'HEADERS :' $(HEADERS) @echo 'SOURCES :' $(SOURCES) @echo 'SRC_CXX :' $(SRC_CXX) @echo 'OBJS :' $(OBJS) @echo 'DEPS :' $(DEPS) @echo 'DEPEND :' $(DEPEND) @echo 'COMPILE.c :' $(COMPILE.c) @echo 'COMPILE.cxx :' $(COMPILE.cxx) @echo 'link.c :' $(LINK.c) @echo 'link.cxx :' $(LINK.cxx) ## End of the Makefile ## Suggestions are welcome ## All rights reserved ## ##############################################################
Fortran Makefile in Linux
FC = ifort FFLAGS = -O2 ALL_SRCS = $(wildcard *.f *.for *.f90) MODSRCS = $(filter mod_%,$(ALL_SRCS)) #MODSRCS = zmod.f MODS := $(addsuffix .o, $(basename $(MODSRCS))) SRCS = $(filter-out mod_%,$(ALL_SRCS)) #SRCS = sub1.f \ main.f90 OBJS := $(addsuffix .o, $(basename $(SRCS))) TARGET = Program_N #all: # @echo "ALL_SRCS=$(ALL_SRCS)" # @echo "OBJS=$(OBJS)" # @echo "MODS=$(MODS)" $(TARGET): $(OBJS) $(FC) $(FFLAGS) -o $@ $(MODS) $(OBJS) clean: rm -f $(TARGET) *.o *.mod $(OBJS): $(MODS) .SUFFIXES: .o .f .for .f90 .f.o: $(FC) $(FFLAGS) -c $< .for.o: $(FC) $(FFLAGS) -c $< .f90.o: $(FC) $(FFLAGS) -c $<
Git Over Http: Service not enabled: 'receive-pack'
如果你使用了Git的git-http-backend 后台服务 (git push/pull/clone over http instead of ssh or git),并且没有配置客户端认证。你可以在push的时候遇到这个错误: The requested URL returned error: 403..,查看apache后台提示错误:Service not enabled: 'receive-pack'。
解决方法如下:
在git response 目录下执行下面的命令,以打开匿名情况下的http.receivepack服务。
git config --file config http.receivepack true
接着贴一下GitOverHttp的Apache2配置吧:在需要配置的虚拟主机之间加入如下配置:
# Set this to the root folder containing your Git repositories. # 指定 Git 版本库的位置 SetEnv GIT_PROJECT_ROOT F:/Dropbox/GitRepo # Set this to export all projects by default (by default, # git will only publish those repositories that contain a # file named “git-daemon-export-ok” # 该目录下的所有版本库都可以透过 HTTP(S) 的方式存取 SetEnv GIT_HTTP_EXPORT_ALL # Route specific URLS matching this regular expression to the git http server. # 令 Apache 把 Git 相关 URL 导向给 Git 的 http 处理程序 AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ "F:/Dropbox/GitRepo/$1" AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ "F:/Dropbox/GitRepo/$1" ScriptAliasMatch \ "(?x)^/git/(.*/(HEAD | \ info/refs | \ objects/info/[^/]+ | \ git-(upload|receive)-pack))$" \ "D:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe/$1" <Directory "D:/PROGRA~1/Git/libexec/git-core/"> Options Indexes FollowSymLinks AllowOverride AuthConfig order allow,deny allow from all </Directory> <Directory "F:/Dropbox/GitRepo"> Options Indexes FollowSymLinks AllowOverride AuthConfig order allow,deny allow from all </Directory>
为FVCOM2.7.1启用SEMI_IMPLICIT
对于FVCOM2.7.1 其使用的PETSC版本应该是2.3.3(副版本好变,目前最新的是这个),使用这个版本你可以不用修改FVCOM的源代码
其次,PETSC需要开启Hypre的支持,configure的使用需要--with-hypre=1 --with-hypre-dir=/hypre/install/dir
最新的库可以从官方网站下载:
PETSC:http://www.mcs.anl.gov/petsc/download/index.html
HYPRE:http://acts.nersc.gov/hypre/
你可以可以使用PETSC的3.0版本,但需要适当的修改一下makefile和mod_petsc.F和(省略)的源代码修正include的目标文件夹。
程序库的编译,如果您的已经安装了mpi,和intel compiler (会带mkl库),推荐不要给定其他configure参数。
现在放出Windows 8 MSDN 神Key 98枚
现在放出Windows 8 MSDN 神Key 98枚
Windows 8 Core(17枚)
24VQY-G6NBH-4XRFG-8H3YP-RVRDD
3MHNP-V3YQ3-6XJYK-9P93C-749T3
48H7B-NXQ2P-YKBY6-BP74B-QJXT3
7RN69-T7DTK-WD2GF-R3MJQ-RJMQD
BQHHR-NW8GW-4MBJ8-YVJK6-KTJXQ
CNFQR-GK8CG-KC4BH-J2MWT-GMQG3
CYNH7-6J6VG-28CT6-4YGY3-488XQ
DRTNR-JB93H-HGGYD-RK47B-HT663
FN426-MCYJY-28X86-3XPD8-K2BQD
FWNFB-C28XG-FHKMF-WPC6J-K2BQD
HYTMK-MN4HC-H3T2G-CBGQR-X2BQD
N3DBK-TT4QR-C3TWM-W6CGT-H8MQD
NY87D-VCK7D-WM77C-K77V8-RX49Q
NYTKV-4QX68-KH34F-XTQ7H-3JXT3
RM96G-CWNFV-7RX24-D4THG-Y949Q
TP2X7-NQ2MR-WGJMG-XWB7K-WTV3D
VR9W4-3NMR2-63GV3-P3J2D-973G3
Windows 8 Professional(68枚)
2CMGK-NMW4P-B846H-YXR6P-27F9V
2GVN8-TV3C2-K3YM7-MMRVM-BBFDH
2NF99-CQRYR-G6PQ9-WYGJ7-8HRDH
2VTNH-323J4-BWP98-TX9JR-FCWXV
39DQ2-N4FYQ-GCY6F-JX8QR-TVF9V
3NHJ7-3WWQK-4RFTH-8FHJY-PRYQH
4JKWV-MNJCY-8MW3Q-VJYGP-DC73H
4MKTX-N2GM8-QQR26-V74GM-B4DG7
4NMMK-QJH7K-F38H2-FQJ24-2J8XV
4RBNG-TWFTP-6272F-MVV7T-C9T67
76NDP-PD4JT-6Q4JV-HCDKT-P7F9V
7F3P2-NV6JH-BPWP7-RVHFF-9WXT7
7HBX7-N6WK2-PF9HY-QVD2M-JK49V
84NRV-6CJR6-DBDXH-FYTBF-4X49V
8N3W3-QF4F4-W6F28-P4QQ7-X73G7
967N4-R7KXM-CJKJB-BHGCW-CPKT7
988NM-XKXT9-7YFWH-H2Q3Q-C34DH
BDDNV-BQ27P-9P9JJ-BQJ96-KTJXV
CDQND-9X68R-RRFYH-8G28W-82KT7
CR8NP-K37C3-MPD6Q-MBDDY-8FDG7
D2GBF-NGBW4-QQRGG-W38YB-BBFDH
D32KW-GNPBK-CV3TW-6TB2W-K2BQH
D7KN2-CBVPG-BC7YC-9JDVJ-YPWXV
DWV49-3GN3Q-4XMT7-QR9FQ-KKT67
DX6QP-7N6J4-7T247-TYCW6-RRDG7
F2M4V-KFNB7-9VVTW-MVRBQ-BG667
F7BDM-KTNRW-7CYQP-V98KC-W2KT7
F8X33-CNV3F-RH7MY-C73YT-XP73H
FFX8D-N3WMV-GM6RF-9YRCJ-82KT7
FJFNG-QWTD6-C9XG7-RQXKG-PDG67
FNV82-RR446-JC3R9-6C4WC-D6667
G8BND-4G737-GQM3W-FWH82-2DG67
GBJJV-YNF4T-R6222-KDBXF-CRYQH
GPTCC-XN297-PVGY7-J8FQY-JK49V
HNRGD-JP8FC-6F6CY-2XHYY-RCWXV
HV3TW-MMNBG-X99YX-XV8TJ-2GV3H
J2HNC-BGC8H-4CY69-K3784-84YQH
J6FW2-HQNPJ-HBB6H-K9VTY-2PKT7
KNTGM-BGJCJ-BPH3X-XX8V4-K4PKV
KQWNF-XPMXP-HDK3M-GBV69-Y7RDH
MMRNH-BMB4F-87JR9-D72RY-MY2KV
MP64N-7KHDM-JJBTW-4TRKR-W8CKV
MQN4Y-CCKBW-WDH4V-RQ84W-XWXT7
N4WY8-DVW92-GM8WF-CG872-HH3G7
N9C46-MKKKR-2TTT8-FJCJP-4RDG7
N9DCG-TBM98-R2GGF-6B6GF-QGJXV
NBWPK-K86W9-27TX3-BQ7RB-KD4DH
NC2CV-P7Q6H-QM9CJ-DXRCV-X73G7
ND8P2-BD2PB-DD8HM-2926R-CRYQH
NTVHT-YF2M4-J9FJG-BJD66-YG667
PKNXG-QK8QG-CHKFD-4PPMX-JW8XV
Q4NBQ-3DRJD-777XK-MJHDC-749T7
RB29C-D6NRY-BYVG3-HQ6TP-7CBQH
RN84G-HFRTT-M3D7G-JVWHV-X73G7
RRYGR-8JNBY-V2RJ9-TJP4P-749T7
T2NRP-MWCYQ-TJHD6-KF69K-T8XT7
T63QP-JN24K-VCY8P-B7FHV-FJMQH
T6HNG-PFKX9-FQVTG-WB99H-VT667
T8CHN-XJQFC-72PCQ-KDR2Q-XHF9V
TGXN4-BPPYC-TJYMH-3WXFK-4JMQH
VHNT7-CPRFX-7FRVJ-T8GVM-8FDG7
VY9Q4-6HN66-2XKKK-JP72K-MG667
W6V3Y-NCMH2-4X3Y8-2DTBB-X4PKV
W93NP-RQJTC-BVKKY-VDBQK-V2WXV
WHK3K-N482H-BTY8Q-MKFJ9-3RPKV
X7B3J-GNVTB-QB8D2-JKC48-BWMQH
YGMNF-FJG92-8J2V6-TBT8P-BR9T7
YY8FN-22WHK-MVQKP-PDX29-P34DH
Windows 8 Enterprise(1枚)
N7RRX-RVH4P-PCPBM-89D8Y-X4PK2
Windows 8 Professional & Enterprise(12枚)
8N4QH-2WT9H-T7GRF-3JBKY-DPBQD
BQ4TH-BWRRY-424Y9-7PQX2-B4WBD
BYXV8-9YN72-VTF7H-8G7PT-WW8X2
JQN3D-D9DMG-97X94-K2QW7-4CWXV
KM7FN-2WHWX-FMH2Y-43KXF-CRYQP
KRRY8-76NW2-FFTXH-KPKM9-CDG67
M2XN7-4PT2W-H8GJF-X7D9Y-MY2KQ
NB7P3-C66T2-848FB-M3BJB-2PKVC
PF9TR-KNB98-T7JPF-TWF8W-F3G7C
PW39T-8NHVC-JGCJD-CYB6F-F6V3D
Q9QX3-BNJ4R-WVGMC-RJK89-XKT63
VMNVQ-VH6XM-GCYW7-4X8VM-8FDG3