我一直在尝试使用下面的源代码"动态调用函数".在使用仅接受前两个参数的testing_function成功测试此代码之后,我在第三个中添加并在调用函数时决定"不提供参数".我注意到,当我这样做时,第三个参数的值不是(必然)0,而是一个"随机"值,我不知道它的起源.
问题如下:
源代码的前言如下:
我正在使用Linux运行,使用GCC 4.6.3编译/调用链接器,并且在使用此代码时不会收到编译/链接警告/错误.此代码执行'完美'.我打电话给gcc如下:
gcc -x c -ansi -o (output file) (input file, .c suffix)
Run Code Online (Sandbox Code Playgroud)
源代码如下:
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
/* Function for testing. */
int testing_function(char* something, char* somethingelse, int somethingadditional)
{
int alt_errno = errno;
if ((something != NULL)&&(somethingelse != NULL))
{
errno = 0;
if (fprintf(stdout, "testing_function(\"%s\", \"%s\", %d);\n", something, somethingelse, somethingadditional) <= 0)
{
if (errno != 0)
{
int alt_alt_errno = errno;
perror("fprintf(stdout, \"testing_function(\\\"%%s\\\", \\\"%%s\\\", %%d);\\n\", something, somethingelse, …Run Code Online (Sandbox Code Playgroud) 在尝试编译我编写的一些代码时,我继续收到此错误,文件中的位置完全没有帮助.这使用gtk 2.0.
以下是我在编译时收到的内容:
charles @draton-generico:〜/ Documents/C89 $ gcc -xc -ansi -g bahbahbah.c -o bahbahbah
pkg-config --cflags --libs gtk+-2.0bahbahbah.c:在函数'main'中:
bahbahbah.c:28:1:错误:','令牌之前的预期表达式
以下是我试图编译的代码:
#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
void closure(void)
{
gtk_main_quit();
printf("gtk_main_quit() has been called.\n");
}
void main(int argc, char* argv[])
{
gboolean check = gtk_init_check(&argc, &argv);
if (check == FALSE)
{
printf("Failed to initialize toolkit.\nTerminating.\n");
exit(EXIT_FAILURE);
}
else
{
printf("Initialized toolkit.\n");
GtkWidget* main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title((GtkWindow*)main_window, "BLAH");
gtk_window_set_default_size((GtkWindow*)main_window, 700, 700);
g_signal_connect(main_window, "delete-event", closure, …Run Code Online (Sandbox Code Playgroud)