Articles of gcc

时间函数在mingw

我正在尝试执行此页面中给出的代码 http://msdn.microsoft.com/en-us/library/windows/desktop/aa366062%28v=vs.85%29.aspx 我正在使用mingw(gcc)来编译这个。 但下面的行不能被编译。 我已经包含了'time.h'。 我search,但无法find这个'_localtime31_s'或其等价物在gcc中。 error = _localtime32_s(&newtime, (__time32_t*) &pAdapter->LeaseObtained); error = asctime_s(buffer, 32, &newtime); 这里的时间在哪里? 谢谢

在Windows上的gcc:生成的“a.exe”文件消失

我正在使用GCC版本4.7.1,但我也在GCC 4.8上试过。 这是我想要编译的代码: #include <stdio.h> void print(int amount) { int i; for (i = 0; i < 5; i++) { printf("%d", i); } } int main(int argc, char** argv) { print(5); return 0; } 它看起来应该工作,当我编译… gcc main.c 编译需要一段时间,产生一个a.exe文件,并且a.exe文件消失。 这不是我的代码给我任何错误。 这里有一个certificate,因为有些人误解了这一点:

什么是GCC默认包含目录?

当我用gcc编译一个非常简单的源文件时,我不必指定标准包含文件(如stdio或stdlib)的path。 GCC如何知道如何find这些文件? 它里面有硬连线的/usr/includepath吗,还是会得到其他操作系统组件的path?

GCC / C如何隐藏控制台窗口?

**** C新手提醒****如何编译一个C应用程序,使其运行时不显示Windows上的控制台窗口? 我正在使用Windows XP和GCC 3.4.5(mingw-vista特殊r3)。 我已经详细search了这个,我已经提出了以下内容,根据我所读到的,听起来像是应该做的,但不在我的系统上: #include <windows.h> #include <stdlib.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { system("start notepad.exe"); } 我也尝试向GCC传递“-mwindows”参数无济于事。 代码示例启动记事本,但仍闪烁了一个命令提示符。 编辑:FWIW我也曾尝试ShellExecute系统()的alernative,虽然我会很高兴甚至得到一个空的main()或WinMain()在这一点上工作的应用程序。

如何在C中find函数的返回地址?

我正在尝试在C和GCC中使用less量的AT&T风格的内联汇编,在这里阅读一篇关于CodeProject的文章。 我希望这样做的主要原因是findEIP寄存器的旧值,以便能够在我的代码中拥有可靠的指令地址。 我已经写了一个简单的示例程序来展示我对这个概念迄今为止的理解: #include <stdio.h> #include <stdlib.h> int mainReturnAddress = 0; int main() { asm volatile ( "popl %%eax;" "pushl %%eax;" "movl %%eax, %0;" : "=r" ( mainReturnAddress ) ); printf( "Address : %d\n", mainReturnAddress ); return 0; } 这个例子的目的是从堆栈顶部popup4个字节,表示从EIP寄存器保存的32位返回地址,然后将其推回堆栈。 之后,我将其存储在全局mainReturnAddressvariables中。 最后,我打印存储在mainReturnAddress中的值。 我从这个代码4200560收到的输出。 这段代码是否达到上述目的,是Windows平台32位上的交叉处理器吗?

gtk_widget_queue_draw中,Windows 7下的内存泄漏

以下GTK程序: #include <gtk/gtk.h> GtkVBox *vbox; GtkWindow *win; gboolean Timer (gpointer user_data) { gtk_widget_queue_draw (GTK_WIDGET (vbox)); return 1; } int main(int argc, char **argv) { gtk_init(&argc, &argv); win = (GtkWindow*)gtk_window_new(GTK_WINDOW_TOPLEVEL); vbox = (GtkVBox*)gtk_vbox_new(TRUE, 1); gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(vbox)); g_timeout_add (200, Timer, 0); gtk_widget_show_all(GTK_WIDGET(win)); gtk_main(); return 0; } 在任务pipe理器显示的使用gcc 4.5.2编译的Windows 7 64位下泄漏。 它在Windows XP 32位下编译时不会泄漏。 该程序什么都不做。 它创build一个窗口,放在那里有一个盒子,然后从一个定时器每个200ms调用gtk_widget_queue_draw。 这是一个batch file来编译和链接testing。 […]

不能运行任何程序

我下载了clion,并通过jetbeans提供的设置指南: https ://www.jetbrains.com/help/clion/2016.3/quick-tutorial-on-configuring-clion-on-windows.html我试图设置cygwin和minGW作为环境,但程序不会运行。 我跟着这个问题: 如何设置编译和运行的Clion 我已经在path中追加了cygwin和minGW的目录,但是仍然无法运行我的程序。 这引起了一个长期的错误, CMake Error at /cygdrive/c/Users/dell/.CLion2016.3/system/cygwin_cmake/share/cmake-3.6.3/Modules/CMakeTestCCompiler.cmake:61 (message): The C compiler "/cygdrive/c/MinGW/bin/gcc.exe" is not able to compile a simple test program. 它失败,输出如下: Change Dir: /cygdrive/c/Users/dell/Desktop/jetBeans/c_c++/cmake-build-debug/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make.exe" "cmTC_2284f/fast" /usr/bin/make -f CMakeFiles/cmTC_2284f.dir/build.make CMakeFiles/cmTC_2284f.dir/build make[1]: Entering directory '/cygdrive/c/Users/dell/Desktop/jetBeans/c_c++/cmake-build-debug/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2284f.dir/testCCompiler.co /cygdrive/c/MinGW/bin/gcc.exe -o CMakeFiles/cmTC_2284f.dir/testCCompiler.co -c /cygdrive/c/Users/dell/Desktop/jetBeans/c_c++/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c gcc.exe: error: /cygdrive/c/Users/dell/Desktop/jetBeans/c_c++/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c: No such […]

在Windows上使用包含Rtools和Rcpp的gcc版本

在我开始更新gcc之前,有没有人真正尝试过这一点,他们可以确认从源代码构buildR需要更新用于编译c ++代码的gcc版本(即不一定用于包创作,当然不适用于CRAN-有效包)? 请参阅Dirk对此问题的回答,以及来自原始海报的后续评论如何在Windows上使用gcc 4.8.1与Rcpp 。

C ++:安全使用longjmp和setjmp?

在linux / gcc的C ++中使用longjmp和setjmp关于以下方面是否安全? exception处理(我没有使用longjmp / setjmp实现exception处理,我想知道longjmp / setjmp对标准exception处理有什么副作用) *this指针 信号 智能指针(boost的共享和入侵指针) 还有什么你能想到的。