掌握emacs之后,几乎没再怎么使用过其它的工具来编写代码了。。。
最近打算用wxWidgets开发一个软件,并打算只用gcc-mingw来开发,
要在以前,区区一定直接下载一个wxWidgets的devpack,然后就开始写代码了。。
考虑到dev-c++弱弱的编译能力,毅然放弃这个想法,改而手工从源代码把wxWidgets
库给make出来。。
在漫长的编译过程中,区区把自己在公司常用的emacs代码重新实现了一篇。
(defvar jr-compile-pre-flag " "
"jr-compile的前缀参数")
(defvar jr-compile-pos-flag " "
"jr-compile的后缀参数")
(defun jr-compile-current-file ()
"编译当前文件,应用常有的模式"
(interactive)
(let* ((filename (buffer-file-name (current-buffer)))
(progname (cond ((string-match ".c$" filename) "gcc")
((string-match ".cxx$" filename) "g++")
((string-match ".cpp$" filename) "g++")
("echo")
))
(proarg " -g -pg -o ")
(cmdstr (read-string "请输入编译指令: "
(concat progname
proarg
(file-name-sans-extension (file-name-nondirectory filename))
jr-compile-pre-flag
(file-name-nondirectory filename)
jr-compile-pos-flag)))
)
(compile cmdstr)))
(defvar jr-run-pos-flag " "
"jr-run的后缀参数")
(defun jr-run-current-file (&optional comint)
"编译当前文件,应用常有的模式"
(interactive "P")
(let* ((filename (buffer-file-name (current-buffer)))
(cmdstr (concat (file-name-sans-extension filename)
jr-run-pos-flag
jr-compile-pre-flag)))
(compilation-start cmdstr (if comint t nil))))
;单文件编译热键
(global-set-key [(f10)] 'jr-run-current-file)
(global-set-key [(f9)] 'jr-compile-current-file)
(global-set-key [(f7)] 'compile)
最近打算用wxWidgets开发一个软件,并打算只用gcc-mingw来开发,
要在以前,区区一定直接下载一个wxWidgets的devpack,然后就开始写代码了。。
考虑到dev-c++弱弱的编译能力,毅然放弃这个想法,改而手工从源代码把wxWidgets
库给make出来。。
在漫长的编译过程中,区区把自己在公司常用的emacs代码重新实现了一篇。
(defvar jr-compile-pre-flag " "
"jr-compile的前缀参数")
(defvar jr-compile-pos-flag " "
"jr-compile的后缀参数")
(defun jr-compile-current-file ()
"编译当前文件,应用常有的模式"
(interactive)
(let* ((filename (buffer-file-name (current-buffer)))
(progname (cond ((string-match ".c$" filename) "gcc")
((string-match ".cxx$" filename) "g++")
((string-match ".cpp$" filename) "g++")
("echo")
))
(proarg " -g -pg -o ")
(cmdstr (read-string "请输入编译指令: "
(concat progname
proarg
(file-name-sans-extension (file-name-nondirectory filename))
jr-compile-pre-flag
(file-name-nondirectory filename)
jr-compile-pos-flag)))
)
(compile cmdstr)))
(defvar jr-run-pos-flag " "
"jr-run的后缀参数")
(defun jr-run-current-file (&optional comint)
"编译当前文件,应用常有的模式"
(interactive "P")
(let* ((filename (buffer-file-name (current-buffer)))
(cmdstr (concat (file-name-sans-extension filename)
jr-run-pos-flag
jr-compile-pre-flag)))
(compilation-start cmdstr (if comint t nil))))
;单文件编译热键
(global-set-key [(f10)] 'jr-run-current-file)
(global-set-key [(f9)] 'jr-compile-current-file)
(global-set-key [(f7)] 'compile)