使用CLion的CMAKE ERROR
我是使用C编程的初学者,如果我在CLION上启动一个项目: 我会得到此错误代码 C:\Program Files\JetBrains\CLion 2017.2.2\bin\cmake\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" C:\Users\danie\CLionProjects\untitled2 -- The C compiler identification is GNU 5.3.0 -- The CXX compiler identification is unknown -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works -- Detecting C compiler ABI info -
28 2024-04-10
编程技术问答社区
循环往复?
我目前正在尝试自学c,因为我相信这将是C ++和C#的一个很好的选择(以及上课开始之前的仓库).所以我决定在这里写这个循环: #include int main() { bool continueLoop = true; char response; printf("ARE YOU READY TO RUMBLE?!?!\n Y/N\n"); response = getchar(); int counter = 0; do { counter++; if (response == 'Y') { printf("AWESOME!"); continueLoop == false; return 0;
20 2024-04-09
编程技术问答社区
在CLion和C99标准下,可变长度数组是不可能的?
我一直很高兴地使用Clion编码,以在使用C99标准的同时为大学创建一个项目.截至今天,阵列声明的可变长度将无法工作.有人有什么想法吗? 代码: int main() { // to allow debugging with CLION setbuf(stdout, 0); int number = 5; int myarray[number]; return 0; } cmakelists.txt project(PG1 C) set(CMAKE_C_STANDARD 99) add_executable(PG1 main.c ...) 错误是: C:\...\PG1\main.c(10): error C2057: Constant value required C:\...\PG1\main.c(10): error C2466: Declaration of array with constant size 0
22 2024-04-09
编程技术问答社区
Clion代码格式化以对齐变量
是否可以更改CLION中的选项,以使变量像这样对齐: 这应该在结构和方法中应用. 解决方案 是. Settings -> Editor -> Code Style -> C/C++ -> Wrapping and Braces -> Variable groups -> Align in columns 当然,您也可以使用自定义格式的工具. 其他解决方案 毕竟您还可以使用" Ctrl+Alt+L"快捷方式 进行对齐
18 2024-04-08
编程技术问答社区
CLion过度使用系统内存
我最近开始使用Windows 7 64位上的Clion进行编辑C文件. 让我感到非常困扰的一件事是它使用了太多的系统内存.它不会导致出现记忆错误 /a>.实际上,CLION在IDE(〜2000 MB中约500 MB)中显示出比从系统(〜1000 MB)所需的记忆消耗少得多.您可以看到系统内存使用情况的快照,下面显示了Clion的内存: 我不是将Clion用于C ++,而是用于C项目.我的项目不是那么大(〜5 c文件 我不确定我的体验是否是预期的/正常的,还是由于我的系统设置,项目设置或使用IDE的方式而引起的. 是否有过度记忆使用的已知原因?您能建议减少记忆使用量的实践吗? 解决方案 该帖子已经2岁了,但是我也在Clion 2018.1遇到这个问题,我想,其他人也这样做.一些对我有用的技巧: 排除索引中的目录. 删除我不需要的源文件. 解决两个类别之间的循环依赖性. (注意:我不能保证这就是这样,因为我一次尝试了几件事,而且很奇怪的是,如此强大的ID
22 2024-04-08
编程技术问答社区
C : 值逃脱了本地范围?
所以我具有以下tostring函数: /* * Function: toString * Description: traduces transaction to a readable format * Returns: string representing transaction */ char* toString(Transaction* transaction){ char transactStr[70]; char id[10]; itoa(transaction -> idTransaction,id, 10); strcat(transactStr, id); strcat(transactStr, "\t"); char date[15]; strftime(date,14,"%d/%m/%Y %H:%M:%S",transaction -> date); strcat(transac
16 2024-04-08
编程技术问答社区
Clion不会在调试中显示输出
当我启动程序时,这是输出: -------------------- HASHMAP MANAGEMENT BOOT MENU ------------------------- Would you like to: (a) create a new hashmap (b) load an existing one (q) exit > 但是,在调试时,这些都没有出现.检查调试时,它确实可以越过printf()命令,但是它只是拒绝让它们出现在控制台中.输入寄存器,但输出永远不会出现. int main(void){ bool on = true; char choice = ' '; int status = 0; while(on){ if(status == -1){ printf("\n[ERROR] : HASHMAP NOT INITIALISED\n"); }
18 2024-04-07
编程技术问答社区
是否可以配置CLion来独立编译项目中的源文件?
我目前正在使用Jetbrains Chion IDE在C中进行一些欧拉挑战.当我在Python和Java(分别在Pycharm和Intellij)中完成这些内容时,我始终能够创建一个名为" ProjectEuler"的单个项目,并添加我可以独立执行的任何数量的源文件.但是,在Clion中似乎不可能.我用来解决问题的每个源文件都包含一个main()函数,并且每次我尝试编译时,CMAKE对此感到不满(" Main'的多个定义"). 是否有一种方法可以配置CLION一次仅在一个项目中编译和执行单个源文件,而无需重写我的cmakelists.txt或每次为每个问题创建一个新项目? 我知道C编译和不像Java或Python那样解释,但是可以想象我可以手动编译每个源文件.有没有办法配置CLION进行相同的操作?如果是这样,如何? 解决方案 您可以在每个问题的cmakelists.txt中定义多个可执行文件. 而不是 add_executable(projecteule
16 2024-04-07
编程技术问答社区
如何在CLion中创建、编译和运行一个单一的文件
我正在从事一些 c ++ 的东西,我讨厌创建一个全新的项目只是为了在文件上运行一些内容. 我也不喜欢当您创建一个项目时如何已经称为main.cpp. 我只想制作一个具有一些功能或类的文件.创建整个项目还不够重要. 我想创建一个文件并将其称为我想要的东西.只需创建一个文件,然后编译并运行即可. 我不想处理整个CMake的事情,只需编译一个文件即可. 无关的项目.谢谢. 我知道您可以在Visual Studio上执行此操作,但是我正在使用Clion. 在Mac OS X上工作 解决方案 您可以修改cmakelists.txt 在这里一个示例: cmake_minimum_required(VERSION 3.3) project(test_build) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(BUILD_1 main) set(SOURCE_FILES_1 ma
30 2024-04-07
编程技术问答社区
CLion不能在终端运行
在嵌入式终端中放置某些字符的错误(在单击运行按钮时会弹出的运行选项卡)中放置某些字符发生.我将终端更改为cmder,现在一切都在工作,除了一件事:我不知道如何使Clion运行该程序到该终端. 我尝试更改配置,但是它在运行时所做的只是打开CMDE,但没有执行程序(我必须通过编写文件名来手动运行它). 我想知道,解决此问题的方法是什么,使Clion直接在终端上运行C程序,而不是运行选项卡? 谢谢. 解决方案 Clion Run配置总是在整合的Run窗口中运行.那不是终端模拟器,它不能更改,以便它在实际的终端模拟器中运行(例如CMDER). 最好的选择是尝试在运行窗口中修复"角色放置".也许会问一个不同的问题您在哪里解释问题,或者是否是一个明显的错误,
36 2024-04-07
编程技术问答社区
在Clion中增加C程序的堆栈大小
如何增加具有深递归调用的C程序堆栈的最大大小?该项目是否有任何配置,可以在其中指定可执行文件的堆栈或堆大小? 解决方案 要扩展OP的答案,以下三个cmake命令都使用mingw/gcc在Windows上使用(替换,并输入add_executable()>): target_link_libraries( PRIVATE "-Wl,--stack,10000000") 或 set_target_properties( PROPERTIES LINK_FLAGS -Wl,--stack,10000000) 或 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--stack,10000000") 根据在Visual Studio中,您应该根据-Wl,--stack, -Wl,--stack,在每个中替换为/STACK:,根据此线程和其他线程.
30 2024-04-07
编程技术问答社区
C语言编译器损坏:无法编译一个简单的测试程序
在我的DEKTOP上和我的Surface Pro 6 Clion上停止工作,我不知道为什么. 写在我的桌面上: "C:\Program Files\JetBrains\CLion 2018.3.2\bin\cmake\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" C:\Users\Alexander\Desktop\Clion\übung -- The C compiler identification is GNU 6.3.0 -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- broken CMake Error at C:/Program Files/JetBrains/CLion 20
30 2024-04-07
编程技术问答社区
链接共享dll库 cmake clion项目
我目前有两个与Cmake有关的C项目.其中一个项目称为" ShareLibsDemo",我正在尝试在此项目中创建共享库.在另一个项目中,我想使用"共享"项目创建的库. 当前,在" sharedlibsdemo"项目中,我有以下cmake: cmake_minimum_required(VERSION 3.7) project(sharedLibsDemo) set(CMAKE_C_STANDARD 11) INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}") set(SOURCE_FILES shared.c shared.h main.c) add_library(shared SHARED ${SOURCE_FILES}) include(GenerateExportHeader) GENERATE_EXPORT_HEADER(shared # generates the export header s
12 2024-04-07
编程技术问答社区
向C函数传递nullptr是安全的吗?
我有一些纯库.现在我正在创建一些单元测试,但是测试库是用C ++而不是C写的. null.在这种情况下,将nullptr传递到纯C功能是安全的吗? 解决方案 在这种情况下,将nullptr传递到纯C函数是安全的吗? 我认为是.来自 C ++ 11标准(4.10指针转换): a null指针常数是整数类型的积分常数表达式([[Expr.const]),它评估为零或类型std::nullptr_t的prvalue. null指针常数可以转换为指针类型;结果是该类型的零指针值,与对象指针或功能指针类型的其他所有值都可以区分. a nullptr和评估0的层间常数表达式在这种转换中等效.
32 2024-04-07
编程技术问答社区
CMake-创建一个静态库
我的项目中有两个文件,称为Test4: Structure.h Structure.c 我想创建一个静态库,该库可以由想要使用这些文件的其他项目加载.这是我目前的CMAKE文件: cmake_minimum_required(VERSION 3.6) project(Test4) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES Structure.c Structure.h) add_library(Test4 STATIC ${SOURCE_FILES}) 当我使用该cmake文件构建时,不会生成静态库.什么都没发生.我做错了吗? 我正在使用Clion IDE. 解决方案 我也有同样的问题.我错过的是创建构建文件的位置. Clion在cmake-build-*目录下制作库或Excectrables.如果Build, Execution, Deploy
20 2024-04-07
编程技术问答社区
在Clion的调试器中,我如何显示一个int数组的全部内容?
现在,它仅显示数组的第一个元素,但我希望对数组中的所有元素进行视觉效果.我认为Clion正在使用GDB. 编辑:我指的是堆上的数组.堆栈上的阵列可以可视化. 解决方案 不幸的是,Clion当前不支持此功能.如建议的 jetbrains雇员,您可以使用解决方法.在评估/手表中,窗口使用以下表达式: (MyType[128])myArray 您可以使用任意数组大小;什么对您有用. 如果您的数组存储在void *变量中,则需要做一些更棘手的事情: (MyType[128])*(char*)myArray 其他解决方案 cubuspl42 的答案.但是,如果您使用LLDB作为调试器在Mac上,则正确的方法为 (MyType(*)[128])myArray 希望这会有所帮助! 其他解决方案 实际上,基础调试器理解的任何语法都应该起作用.例如,对于GDB,您可以使用*array@size,其中array可以是任何指针表达式,size可以是任
20 2024-04-07
编程技术问答社区
如何用CLion创建一个C项目
由于Clion在一个月前发布了关于它的文档的不多.因此,我对如何使用CLION创建C项目感到困惑,当我想创建一个新项目时,我只是询问该项目的名称并创建一个默认的main.cpp和cmakelists.txt文件,该文件涉及main.cpp文件.好吧,我可以将文件main.cpp重命名为 - > main.c和编辑cmakelists.txt.txt,但是.txt文件中也有一些内容,所以我需要一些帮助. 默认cmakelists.txt文件; cmake_minimum_required(VERSION 2.8.4) project(example) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES main.cpp) add_executable(dbsg ${SOURCE_FILES}) 注意:这个问题可能具有更轻松的解决方案,例如创建C项目,而不是C ++项目,但我看不到,因
16 2024-04-07
编程技术问答社区
编译ASM和C与ASM进行调试
我有两个小文件,我想在cmake中编译,以用clion和gdb 调试它 main.c int my_strlen(char *); int main() { printf("Test: %d\n", my_strlen("Hello")); } ,我的ASM文件具有my_strlen文件 [BITS 64] global my_strlen section .text my_strlen: push rbp mov rbp, rsp xor rcx, rcx loop: cmp BYTE [rdi + rcx], 0 jz end inc rcx jmp loop end: mov rax, rcx mov rsp, rbp leave ret 我正在尝试使用cmakelist.txt编译,我添加set_source_files_pro
24 2024-04-06
编程技术问答社区
"使用有符号的整数操作数与二进制位操作数"--当使用无符号短时
在以下C片段中检查是否设置了16位序列的前两个位: bool is_pointer(unsigned short int sequence) { return (sequence >> 14) == 3; } clion的clang-tidy给我一个"使用签名的整数操作数与二进制二进制的操作员"警告,我不明白为什么. unsigned short未足够未签名吗? 解决方案 此警告的代码检查是否签署了 操作数.它不是引起警告的sequence,而是14,您可以通过将u附加到末端来减轻问题. (sequence >> 14u) 此警告很糟糕.如 Roland的答案描述,Clion正在解决此问题. 其他解决方案 在clang-tidy中有一个称为hicpp-signed-bitwise的检查.此检查遵循HIC ++标准的措辞.该标准是自由使用的: 5.6.1.请勿使用签名操作数的位运算符 在某些情况下,使用签名的操作数与位运算符的使用不确定或
12 2024-04-06
编程技术问答社区
在Clion IDE中向stdin发送EOF信息
在Clion IDE运行C程序时,是否可以将EOF发送到STDIN? 我尝试了CTRL+D-它只是关闭程序. CTRL+Z也无法正常工作. 有什么想法吗? btw-我在Windows 10 OS上使用它. 解决方案 ctrl+d完成工作,但是有一个已知的问题 ,为避免它禁用选项 run.processes.with.pty 在注册表中(查找操作>注册表). 其他解决方案 在您输入后的控制台上键入 ^,我发现它可以解决问题. 其他解决方案 另一个选项是从命令行运行程序,然后从clion附加到它. 在这种情况下,您将拥有本机外壳. 详细介绍 https://blog.jetbrains.com/clion.com/clion/2016/01/附加到局部过程/ 该过程非常简单 - 从命令行运行程序后,选择run->附加到本地进程... 并从列表中选择您的程序.您可以输入搜索字段.
30 2024-04-06
编程技术问答社区