昨天晚上和丫头聊天(珠珠)
他说,假如以后我们吵架了怎么办呢?
我说吵架很正常阿,只要你不提分手,我会珍惜这段感情的
可是假如一时冲动提了呢?
我说那就不要意识冲动嘛,要不你说分手我有不可能死缠烂打的。。。
那假如我们吵架了不说话了呢?你会主动和我说话不?
当然阿,女生耍耍小脾气多正常的,我应该会主动的
那以后假如吵架生气了,你只要发个短信“丫头”过来我就不生气了~
呵呵,听这还感觉还是很感动的,多好的女孩,呵呵,希望能一直和她走下去,更远,再远,搞的我昨天做了一晚上关于丫头的梦,好久没做梦了突然作一次还不习惯的,呵呵,不过梦的内容记不到了,可惜阿~
说完生活进入正题了哈
今天gtk IDE的编写有有了新进展,可以编译单一文件了,呵呵,不过那个连结还么作。。。
在信进展中遇到了个以解决的问题,不过我还是把解决方法拿来和大家分享一下哈
是关于system的使用的
感觉并不是所有终端能执行的语句方到了system中就能执行的,尤其是重定向
比如
程序中的system(“ls”)
可以正常执行
system(“ls > out.txt”)也可以正常执行
但是对错误重定向就有点问题了
如
system(“ls asdf 2&> out.txt”)
system(“ls asdf 2 &> out.txt”)
system(“ls asdf &> out.txt”)
都不能重定向成功,而在终端下都是可以执行的
但是
system(“ls asdf 2> out.txt”)
system(“ls asdf > out.txt 2>&1”)
就可以
一下是这阶段的源代码
对代码的模块有进行了改变,感觉清晰了一些,但是还是单文件编译,因为我还不会些makefile,不过会多文件编译了,但是直接代码里多文件编译是在是麻烦,所以暂时没有使用
#include <gtk/gtk.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <unistd.h>
/*=============================*/
/*definition space */
/*=============================*/
#define MAIN_WINDOW_WIDTH 790
#define MAIN_WINDOW_HIGH 590
#define F_NAME 0
#define F_PATH 1
/*=============================*/
/*the place of fuction declear */
/*=============================*/
void main_window_init(void);
void show_init(void);
void interface_init(void);
void interface_set(void);
void menu_init(void);
void view_init(void);
void debug_view_init(void);
void view_state_label_init(void);
gint delete_event(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_open(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_open_ok(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_save(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_save_ok(GtkWidget* widget, GdkEvent* event, gpointer data);
gint debug_compile(GtkWidget* widget, GdkEvent* event, gpointer data);
gint debug_function(GtkWidget* widget, GdkEvent* event, gpointer data);
gint view_key_press(GtkWidget* widget, GdkEvent* event, gpointer data);
gint main_window_key_press(GtkWidget* widget, GdkEvent* event, gpointer data);
char* f_get_string_name(char* string,char type);
/*==============================*/
/*global symbol declear */
/*==============================*/
GtkWidget* main_window;
GtkWidget* window;
GtkWidget* main_menu_bar;
GtkWidget* file;
GtkWidget* table;
GtkWidget* view;
GtkWidget* view_scroll;
GtkWidget* debug_view;
GtkWidget* debug_view_scroll;
GtkWidget* main_menu_box;
GtkWidget* project_box;
GtkWidget* debug_box;
GtkWidget* view_box;
GtkWidget* view_state_label;
GtkWidget* view_state_label_box;
GtkWidget* debug_view_box;
GtkWidget* default_box;
GtkWidget* menu_items;
GtkWidget* tmp1;
GtkWidget* tmp2;
GtkWidget* tmp3;
GtkWidget* tmp4;
const char *file_name = NULL;
GtkTextBuffer* code = NULL;
GtkTextBuffer* debug_view_buffer = NULL;
/*********************************/
/* the access of program */
/*********************************/
int main(int argc, char* argv[])
{
/*init*/
gtk_init(&argc,&argv);
他说,假如以后我们吵架了怎么办呢?
我说吵架很正常阿,只要你不提分手,我会珍惜这段感情的
可是假如一时冲动提了呢?
我说那就不要意识冲动嘛,要不你说分手我有不可能死缠烂打的。。。
那假如我们吵架了不说话了呢?你会主动和我说话不?
当然阿,女生耍耍小脾气多正常的,我应该会主动的
那以后假如吵架生气了,你只要发个短信“丫头”过来我就不生气了~
呵呵,听这还感觉还是很感动的,多好的女孩,呵呵,希望能一直和她走下去,更远,再远,搞的我昨天做了一晚上关于丫头的梦,好久没做梦了突然作一次还不习惯的,呵呵,不过梦的内容记不到了,可惜阿~
说完生活进入正题了哈
今天gtk IDE的编写有有了新进展,可以编译单一文件了,呵呵,不过那个连结还么作。。。
在信进展中遇到了个以解决的问题,不过我还是把解决方法拿来和大家分享一下哈
是关于system的使用的
感觉并不是所有终端能执行的语句方到了system中就能执行的,尤其是重定向
比如
程序中的system(“ls”)
可以正常执行
system(“ls > out.txt”)也可以正常执行
但是对错误重定向就有点问题了
如
system(“ls asdf 2&> out.txt”)
system(“ls asdf 2 &> out.txt”)
system(“ls asdf &> out.txt”)
都不能重定向成功,而在终端下都是可以执行的
但是
system(“ls asdf 2> out.txt”)
system(“ls asdf > out.txt 2>&1”)
就可以
一下是这阶段的源代码
对代码的模块有进行了改变,感觉清晰了一些,但是还是单文件编译,因为我还不会些makefile,不过会多文件编译了,但是直接代码里多文件编译是在是麻烦,所以暂时没有使用
#include <gtk/gtk.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <unistd.h>
/*=============================*/
/*definition space */
/*=============================*/
#define MAIN_WINDOW_WIDTH 790
#define MAIN_WINDOW_HIGH 590
#define F_NAME 0
#define F_PATH 1
/*=============================*/
/*the place of fuction declear */
/*=============================*/
void main_window_init(void);
void show_init(void);
void interface_init(void);
void interface_set(void);
void menu_init(void);
void view_init(void);
void debug_view_init(void);
void view_state_label_init(void);
gint delete_event(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_open(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_open_ok(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_save(GtkWidget* widget, GdkEvent* event, gpointer data);
gint file_save_ok(GtkWidget* widget, GdkEvent* event, gpointer data);
gint debug_compile(GtkWidget* widget, GdkEvent* event, gpointer data);
gint debug_function(GtkWidget* widget, GdkEvent* event, gpointer data);
gint view_key_press(GtkWidget* widget, GdkEvent* event, gpointer data);
gint main_window_key_press(GtkWidget* widget, GdkEvent* event, gpointer data);
char* f_get_string_name(char* string,char type);
/*==============================*/
/*global symbol declear */
/*==============================*/
GtkWidget* main_window;
GtkWidget* window;
GtkWidget* main_menu_bar;
GtkWidget* file;
GtkWidget* table;
GtkWidget* view;
GtkWidget* view_scroll;
GtkWidget* debug_view;
GtkWidget* debug_view_scroll;
GtkWidget* main_menu_box;
GtkWidget* project_box;
GtkWidget* debug_box;
GtkWidget* view_box;
GtkWidget* view_state_label;
GtkWidget* view_state_label_box;
GtkWidget* debug_view_box;
GtkWidget* default_box;
GtkWidget* menu_items;
GtkWidget* tmp1;
GtkWidget* tmp2;
GtkWidget* tmp3;
GtkWidget* tmp4;
const char *file_name = NULL;
GtkTextBuffer* code = NULL;
GtkTextBuffer* debug_view_buffer = NULL;
/*********************************/
/* the access of program */
/*********************************/
int main(int argc, char* argv[])
{
/*init*/
gtk_init(&argc,&argv);