Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
请问深度系统是如何传递命令行参数的?
Apps Section
423
views ·
0
replies ·
To
floor
Go
linkaizheng
deepin
2018-09-23 02:43
Author
本帖最后由 linkaizheng 于 2018-9-22 18:46 编辑
我习惯了使用自己编的编辑器,但使用中发现无法用右键点击“打开方式”->“选择默认程序”来打开文档。经测试发现系统并没有传递命令行参数到程序中。测试代码如下:
#include
int
main (int argc, char **argv)
{
GtkWidget *window;
int i;
gtk_init (&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
for(i = 0; i < argc; i ++)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_CLOSE,
"argc=%d\nargv[%d]=\"%s\"",
argc,
i,
argv);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy (dialog);
}
gtk_widget_show(window);
g_signal_connect_swapped(G_OBJECT(window), "destroy",
G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}
得到的结果如下图:
可以看到系统传递给程序的命令行参数只有一条,就是程序本身。其它的系统还会有第二条,应该是要打开的文件的路径。不知道深度的系统为什么没有?要说没有吧,深度自带的编辑器gedit就能用同样的方式打开文件,真的是好奇怪呀?
尽管我可以在程序打开后,再去打开文档。但总是有些别扭。请问我该如何做,才能让系统把命令行参数传递过来?
Reply
Like 0
Favorite
View the author
All Replies
No replies yet
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
【Enhanced Repo】Better Deepin Repo is released
Update driver for my computer
Popular Events
More
我习惯了使用自己编的编辑器,但使用中发现无法用右键点击“打开方式”->“选择默认程序”来打开文档。经测试发现系统并没有传递命令行参数到程序中。测试代码如下:
#include
int
main (int argc, char **argv)
{
GtkWidget *window;
int i;
gtk_init (&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
for(i = 0; i < argc; i ++)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_CLOSE,
"argc=%d\nargv[%d]=\"%s\"",
argc,
i,
argv);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy (dialog);
}
gtk_widget_show(window);
g_signal_connect_swapped(G_OBJECT(window), "destroy",
G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}
得到的结果如下图:
可以看到系统传递给程序的命令行参数只有一条,就是程序本身。其它的系统还会有第二条,应该是要打开的文件的路径。不知道深度的系统为什么没有?要说没有吧,深度自带的编辑器gedit就能用同样的方式打开文件,真的是好奇怪呀?
尽管我可以在程序打开后,再去打开文档。但总是有些别扭。请问我该如何做,才能让系统把命令行参数传递过来?