C#是否支持不带大括号的代码锁?
c#如何编译? if (info == 8) info = 4; otherStuff(); 它将在CodeBlock中包含后续行? if (info == 8) { info = 4; otherStuff(); } 或只需下一行吗? if (info == 8) { info = 4; } otherStuff(); 解决方案 是的,它支持它 - 但是它采用下一个语句,而不是下一个 line .因此: int a = 0; int b = 0; if (someCondition) a = 1; b = 1; int c = 2; 等效于: int a = 0; int b = 0; if (someCondition) { a = 1; } b = 1; int c = 2; 我个人总是包括if语句的身体周围的括号,我遇到的大多数编码约定都采用相同的方法. 其他解决方案 if (in
0 2024-04-13
编程技术问答社区
用Code::Blocks克服DLL地狱
我正在使用代码:: blocks进行项目.我多年来没有在Linux上使用IDE,所以我与Linux IDE有点失去联系. 我正在使用一个使用FIPS验证的库的OpenSSL项目.我复制了GCC编译器工具链并将其修改为使用OpenSSL的fipsld(并将其设置为默认值). 当项目的代码通过 f8 blocks下执行时,FIPS_mode_set失败,错误252104805(0xF06D065). 0xF06D065是: $ openssl errstr 0xF06D065 error:0F06D065:common libcrypto routines:FIPS_mode_set:fips mode not supported 告诉我代码:: blocks没有使用/usr/local/ssl/lib中指定的openssl.相反,该程序正在使用Debian在/usr/lib/x86_64-linux-gnu/中提供的非折叠库. 下面是链接库设置的图像.请注意,库
0 2024-04-10
编程技术问答社区
codeblocks的自动完成/调用提示对C标准库函数不起作用
我正在尝试开始使用代码::块来进行一些C编程.我希望使用codeCompletion/calltips功能(例如,在键入" printf"时,它弹出了一个方便的下拉框,显示了参数. 我在该项目中制作了一个新项目和一个新文件,称为" Hello.c" #include int main(){ int test=0; printf("%d",test); return 0; } 但是,在键入prin的中途---仅显示" Priority_queue and Private"出现,没有printf函数,并且在按下Ctrl-J,Ctrl-J,Ctrl空间,Alt-Shift-Space,Ctrl-n或p时,什么也不会发生.我已经尝试重新计算该项目.最初,我安装了13.12版,因为这是Ubuntu(14.04.4LTS)的版本,但随后我通过使用APT-GET PPA来安装了16.01版.该版本也不起作用.我尝试过禁用和重新确定代码完成插件,并且确保在
0 2024-04-10
编程技术问答社区
未定义的对`SHA1'的引用。
由于code :: blocks 的问题,我正在这里发布此处. 我最近在Linux中创建了一个项目,该项目正确地编译和执行了. 现在,我试图使其在Windows上工作. 问题 当我尝试通过Code ::块进行编译时,我收到了错误: C:\ users \ pc \ desktop \ collector \ verification.c | 44 |对" sha1'| 的未定义引用 这是我的配置: 右键单击我的项目 然后"构建选项" 在"链接器设置"中,我有: -lws2_32进入"其他链接器选项". 在"搜索目录"选项卡中: 在"编译器"中: .. \ .. \ .. \ .. \ openssl-win64 \ include 对应于我的Include SSL安装文件 在链接器中:.. \ .. \ .. \ .. \ openssl-win64 \ lib 对应于开放式SSL 的LIB 在这里摘录了汇编问题的
2 2024-04-10
编程技术问答社区
在GCC中编译C文件时出错(多个文件在一起)。
该程序证明了一串文本.这是我的代码(主要是Jusify.c): Justify.c #include #include "line.h" #include "word.h" #define MAX_WORD_LEN 20 int main(void) { char word[MAX_WORD_LEN+2]; int word_len; clear_line(); for(;;) { read_word(word, MAX_WORD_LEN+1); word_len = strlen(word); if(word_len ==0) { flush_line(); return 0; } if (word_len >MAX_WORD_LEN) wo
0 2024-04-10
编程技术问答社区
与ARM微控制器的串行通信
我正在尝试通过USB将数据从ARM CORTRX M4微控制器发送到PC.有一个程序在CodeBlocks IDE中以C ++语言编写.基本上,程序设置了串行通信设置,并使用ReadFile函数读取数据. 问题是,即使PC Pro图和微控制器中的波特率相同,我也在输出处获得垃圾值. 我该如何解决这个问题? PC程序如下所示. #include #include int main(void) { HANDLE hComm; // Handle to the Serial port char ComPortName[] = "\\\\.\\COM51"; // Name of the Serial port to be opened, BOOL Status; // Status of the various operati
2 2024-04-10
编程技术问答社区
将基数10转换为基数2,C语言编程
我仍然是编程的新手,我想询问有关C语言的一个特定问题.我正在使用CodeBlocks编译器. 这是一个代码: int n, c, k; scanf("%d",&n); for(c = 31;c >= 0;c--) { k = n >> c; if(k & 1) printf("1"); else printf("0"); } return 0; 我从一个网站获得了,它将基础转换为二进制. 我的问题是,我有一个IF&else语句,为什么(k&1)printf(" 1")会有?我认为k可以是1和0,如果我使用(k&1),有两个选项,例如(0&1)= 0和(1&1)= 1. 非常感谢. 解决方案 if语句内部的表达式始终评估为true或false.就整数而言,0表示错误,而任何非零的内容表示为true.当您具有k & 1>时,这意味着,如果k的最不重要的位为1,则该表达式评估为1,因此被认为是正确的.
0 2024-04-10
编程技术问答社区
'C'2d阵列的分段故障
有人可以向我解释为什么此代码不起作用? #include #include void findAndPrint(char *arr[], int year, int month, int day); int main() { char *dayTab[] = { {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; findAndPrint(dayTab, 3, 3, 3); getchar(); return 0; } void findAndPrint(char *arr[], int year, int month, int day ){ int d = 0; if(month > 12 ||
0 2024-04-10
编程技术问答社区
将GTK+3.24.21 (Glade) libs与Codeblocks整合在一起 (C)
我想将GTK+ 3.24.21(GLADE)LIB与CodeBlocks 17.12集成,以编译GTK+ C应用程序.我使用这些命令pacman -S mingw-w64-x86_64-gtk3 pacman -S mingw-w64-x86_64-gtkmm3 pacman -S mingw-w64-x86_64-glade通过MSYS2 MSYS(来自官方网站)安装了MingW64编译器,GLADE和GKT.我尝试通过" GTK+ Project"类别创建GTK项目,并且失败了,我无法指向GTK LIB的正确目录.我已经尝试了这一点:" C:\ msys64 \ mingw64 \ include \ gtk-3.0 \ gtk",但它失败了,cos cos没有" inclage" include" folder". 我设法实现目标的唯一方法是选择mingw64作为编译器,并创建"控制台项目",将"构建选项"更改为以下:其他编译器选项 - pkg-config gtk+-3.0 --
0 2024-04-09
编程技术问答社区
在使用MinGW/长双的CodeBlocks中,长双被错误地打印。
问题: 使用cygwin的我的代码工作很好(打印了长双重,就像具有16个字节的内存,最小值和最大值还可以),但是使用mingw codeblocks说,长双人双重的内存具有12个字节(如果我修改了该数字代码显示尺寸以int长double表示,长double是-2,000000),最小值和最大值的打印为-0,000000. CodeBlocks版本:20.03. mingw-w64项目(版本8.1.0,32/64位,seh). 我尝试了提示,但是是同一回事! 我在一篇文章中看到此问题是由Windows生成的,但是如果它与Cygwin一起使用,那么有一个解决方案也许有人知道... 观察: 我可以使用cygwin,但是葡萄牙语中有很多重音单词,我用它们来命名我的目录,因此当我使用Cygwin时,事物很复杂,我不知道如何包括一些像Conio这样的libs. h正确,mingw包括conio.h等libs.h,所以我更喜欢学习如何解决此问题. #incl
0 2024-04-09
编程技术问答社区
如何设置OpenMP?
我正在使用CodeBlocks,必须运行OpenMP C程序.因此,我在CodeBlocks(编译器设置)中添加了flag -fopenmp,现在正在获取' mingw32 -g ++的错误.EXE:exe:libgomp.spec.spec:no这样的文件或目录' 因此,在Internet上进行了一些搜索后,我下载了TDM-GCC(安装在C:\ TDM-GCC-64中).但是在CodeBlocks上仍显示同样的错误. 我在做什么错? 这是构建日志: mingw32 -gcc.exe -c" d:\语言文件\ matrixmultiplication.c" -o" d:\ language files \ matrixmultiplication.o" mingw32 -g ++.exe-o" d:\语言文件\ matrixmultiplication.exe"" d:\语言文件\ matrixmultiplication.o" -fopenmp ming
0 2024-04-09
编程技术问答社区
Code::Blocks编译器不工作
当我尝试打开代码::阻止此消息时,出现"无法在GNU GCC编译器的配置搜索路径中找到编译器可执行文件". 而且我无法运行任何项目. 解决方案 如果没有安装mingw(应该随附代码:: blocks).然后运行代码::块转到Settings->Compiler Setting->Toolchain executables,然后按Auto-Detect.如果自动检测不起作用,请包括自己的路径(查找安装Mingw的位置).此外,请确保在Project-> Build options中选择GNU GCC >编译器
0 2024-04-09
编程技术问答社区
窗口弹出。X.exe已停止工作(Code::Blocks)。
事先感谢您看看这个. 尝试运行我在Code :: blocks中编写的程序时,我会收到Windows错误消息.有趣的是,它可以很好地编译,如果我降低了正在测试的程序的上限,则该程序也可以运行良好. 详细信息: 当我尝试运行该程序时,首先会得到一个Windows弹出窗口,上面写着" X.Exe已停止工作.Windows正在检查解决问题的解决方案."很快,此更改为" X.Exe已经停止工作.一个问题导致该程序停止正确工作.Windows将关闭程序并通知您是否有解决方案.(关闭程序)我单击"关闭程序"按钮,然后我看到命令提示符:"过程返回255 执行时间3.940 s按任何键继续". 我有Windows 8. 我正在使用GNU GCC编译器. 如果我将"最高"更改为100000,则程序正常. 这是代码: /************************************************ * Finds the starting i
0 2024-04-09
编程技术问答社区
从函数中返回一个结构体
我试图了解如何从功能中返回结构,但我完全迷失了. 这是代码: void initialize_server(struct data host_port){ printf(" Set IP Address (X.X.X.X): "); fgets(data.host, sizeof(data.host), stdin); strchomp(data.host); printf(" Set Port: "); fgets(data.port_inc, sizeof(data.port_inc), stdin); strchomp(data.port_inc); return data; } 以及来自.h 的代码 struct data{ char host[16]; char port_inc[8]; }; void initialize
0 2024-04-09
编程技术问答社区
如何在屏幕上定位光标?
我是编程的新手,目前正在学习C中的数组. (向上,向下,向左,右).用户将继续击中箭头键,直到数字不按上升顺序排列为止.这些件可以水平和垂直移动. 我的问题是我不知道如何定位光标.我知道库函数 gotoxy(),但我认为它是在涡轮C/C ++中使用的.我正在使用代码块.在Google上进行了搜索,但无法得到结果.是的,我在谈论键盘光标并使用窗口OS.Please帮助! :) 解决方案 在过去,MS/DOS使用了特殊的驱动程序ANSI.SYS来模仿ANSI命令代码.看起来这个好的旧驱动程序可在Windows XP下使用(但是您需要在Config.sys中进行配置),但是我发现一些文章说它不再在Windows 7及以上使用. . 因此,ANSI(或VT100或VT220)代码在Linux或Unix终端中很有用,但是在Windows下,我的建议是直接使用Wincon.h中声明的Windows API Console函数 - 但是您应该包含Windows.h.使用Windows
0 2024-04-09
编程技术问答社区
fgets的返回值进入主函数
函数fWord询问我的输入,并应返回其遇到的第一个单词(直到第一个空间). 它在在线Visual Studio上工作,但是如果我尝试用CodeBlocks编译它,我的输入不会打印. #include #include #include char * fWord(); char * test; int main() { test = fWord(); printf("%s\n", test); return 0; } char * fWord() // ONLY READ THE FIRST WORD { char buffer[20]; char * input = buffer; fgets(input, sizeof(input), stdin); input = strtok(input, " "); input[strcspn(input,
0 2024-04-09
编程技术问答社区
C MySQL错误 "致命错误LNK1107:无效或损坏的文件:无法读取0x368处"
首先,我想开始解释我是不熟悉基于Web的编程语言的新手,所以这对我来说确实是全新的.但是我一直在试图整夜解决这个问题,但似乎无法理解. 所以我只是安装了一堆MySQL库.我创建了指向所有库的链接,自从我这样做之后,此错误消息就弹出了.我对此进行了一些研究,看来Sarah消息正在发生,因为我使用了动态库.但是我绝对不知道如何进行5about修复它.我还必须指出,即使我目前正在使用C语言工作,我正在使用Microsoft Visual C ++ 2010 Compilerand和Code blocks IDE.任何人都能给我任何帮助.谢谢. 也不确定它是否有帮助,但我的代码. #include #include int main(int argc, char **argv) { printf("MySQL client version: %s\n", mysql_get_client_info()); return
0 2024-04-09
编程技术问答社区
如何清除Code::block中的输出屏幕?
在Turbo C ++中,您可以这样做 #include void main() { clrscr(); } 但是在代码块中我不能使用此.. :( 解决方案 您可以将system("cls");与标题#include 一起使用. " CLS"是在DOS/Windows上使用的批处理命令.在其他系统(基于UNIX的系统)上,您可能会使用: cout #include using namespace std; int main() { cout
2 2024-04-09
编程技术问答社区
显示构建错误弹出的代码块
我正在尝试编译一个简单的Hello World程序,但是CodeBlocks(V 13.12)总是向我显示It seems that this file has not been built yet.Do you want to build it now? 我以前曾使用过CodeBlocks(V 13.12),但从未发现此问题.我不知道该如何解决.任何人请帮助我. 创建项目后的图像: 解决方案 如果您没有经历创建CodeBlocks C项目的过程. 您必须在CodeBlocks中使用文件菜单/新/项目.由于它是一个控制台应用程序,可以打印出Hello World选择"控制台应用程序".然后选择C或C ++,然后填写有关项目的信息.创建项目后,您可以插入自己的文件和标题.控制台应用程序将创建您要替换的默认"主"函数. 其他解决方案 您需要很好地安装它:在Ubuntu软件中心中,在单击"安装"按钮之前,请务必打勾GNU C ++ compiles(G ++)
2 2024-04-09
编程技术问答社区
逐行读取文件的简单C程序
我想做的就是阅读文件的整个第一行,然后在第一行之后,只读取以下行,直到击中空格为止.我的最终目标是询问用户通过添加/减去该行的时间来编辑哪一行. 示例文件 My test file 00:19.1 123456 00:35.4 testing whitespace end 所需的输出 1: My test file 2: 00:19.1 3: 00:35.4 代码: #include #include int main() { FILE *fptr1, *fptr2; char filechar[40]; char c[50]; int line_number = 1; int replace_line, temp = 1; printf("Please enter a file name: "); scanf("%s", &filechar);
0 2024-04-09
编程技术问答社区