用Vim突出显示代码块背景
当我在VIM工作时,我想对PHP标签中的所有代码进行轻微的背景颜色更改.因此,例如,背景是用于常规XHTML标记的固体黑色,然后在PHP标签内显示更轻巧的亮度,以帮助我快速识别它.这是我可以/应该通过配色方案做的事情吗? 是否有其他方法? 解决方案 您可以在配色方案 中做到这一点 示例: hi htmlTag guifg=#00bdec guibg=#200000 gui=bold
0 2023-05-31
编程技术问答社区
PCRE: 为代码块寻找匹配的支撑点
是否有一种方法可以使PCRE正则表达式计算其遇到的字符的发生数量(n),并在其后停止搜索它已发现了另一个字符的n发生(特别是{和})./p> 这是抓取代码块(其中可能存在或可能没有嵌套的代码块). 如果它使其更简单,则输入将是单线字符串,牙套以外的唯一字符是数字,结肠和逗号.在尝试提取代码块之前,输入必须通过以下标准: $regex = '%^(\\d|\\:|\\{|\\}|,)*$%'; 所有牙套都将具有匹配对,并正确嵌套. 我想知道在开始编写脚本以检查字符串中的每个字符并计数每个出现括号之前是否可以实现这一目标.正则表达式将更加友好,因为这些字符串的大小可能是几千字节! 谢谢, 解决方案 同时(所有格量词) 解决方案 pcre具有$code_is_valid = preg_match('~^({ ( (?>[^{}]+) | (?1) )* })$~x', '{' . $code .'}'); 另一件事,我认为这不会比简单的计
0 2023-05-31
编程技术问答社区
无法打开输出文件,权限被拒绝
因此,我在尝试使用CodeBlocks编译C ++代码时一直遇到此错误. 无法打开输出文件[filename.exe]权限拒绝 它直到今天才开始,它是零星和不一致的.如果我关闭CodeBlock并重新启动该项目,通常会消失,但并非总是如此.有时,当我只按F9(构建并运行)几次时,它甚至会消失.我总是检查任务管理器,但是从未有任何.exes用我的文件的名称或与之相关的任何内容运行. 我还注意到,如果此问题发生,然后我尝试手动删除.EXE或与之交互,Windows告诉我,我需要管理员许可(这是一台私人PC)我知道我是管理员). 第一次发生,我添加到代码中的唯一一件事超出了以前的版本,这是发送给Cout的调试报告 - 几乎没有任何奥术.即使没有从以前的版本更改代码,有时也会发生. 这可能是什么?这还没有打破游戏,但令人讨厌,我宁愿不会变得更糟. 编辑:这已经旧了,但是以防万一其他人遇到类似的问题,我当前使用的解决方法只是在尝试再次运行代码之前始终如一地删除[
4 2023-05-25
编程技术问答社区
编译后的第一次执行慢得令人难以置信,除非是 "明显的 "所有循环都会停止。
我对此标题的意思是,在某些情况下,在构建整个程序之后,其第一个执行将需要大约25秒钟的时间(直到控制台上的第一个printf显示).下一个执行几乎是瞬间开始的(如应该是应有的).添加/删除一个空间并再次编译,然后再次执行再次慢慢. 天气我是从IDE内部运行的(code :: blocks)或从文件资源管理器上什么都没有更改. 但这是"解决"问题的方法: 我编写的程序有一个周期,并且一直在等待用户输入: #include #include using namespace std; int main() { printf("Welcome!\n"); bool Running=true; do{ char input[256], command[64]; if(fgets(input, 256, stdin) == NULL || input[0]=='\n')
0 2023-05-23
编程技术问答社区
为什么MinGW非常慢?
我正在使用Windows上的GCC/MingW的Code :: blocks IDE,我正在尝试构建具有CA的WXWIDGETS应用程序. 20K线和40个源模块.它的构建非常慢. 编译A C ++模块持续2-5秒,链接甚至持续2-3分钟. 这是一个便携式代码,此代码在Linux上很快编译.我无法按照"构建消息"窗口...整个过程持续不到20秒. 我尝试了常见的调整(例如,预编译标头,关闭优化等),但没有任何效果. 为什么这么慢? 解决方案 您是否在Active Directory域上,但未立即连接到它? 虽然我没有关于mingw为什么会很慢的"答案",但我的经验是,属于广告域但无法到达广告控制器的计算机是我的经验(例如rxvt.exe)并且当前运行的暂停或口吃(例如使用mingw构建的emacs). 我仍在调查以确定这种行为的实际原因,但我想在适用于您的情况下会提到它. 其他解决方案 在MSYS 1.0.19-1时,如果用户帐户在Ac
6 2023-05-23
编程技术问答社区
如何将C ++代码从PDF文件复制到代码:: blocks IDE?
我在大学里,一些老师使用PDF文件向我们发送C ++代码. 当我想将代码从pdf复制到 code :: blocks 并运行程序,我会遇到一些奇怪的错误,例如:" stray'\ 342'在程序中"或" stray'\ 200"或其他类似的代码,其中342或200可以是342或200数字. 如何将代码从pdf复制到代码::块并使其正常工作? 解决方案 将其粘贴到一些 code formatter 之间. PDF文件似乎弄乱了空间.之后,您可以将其复制回您的IDE. 但是,也许是您的老师的意图是您应该手工复制代码?
8 2023-05-22
编程技术问答社区
代码块 失败的消息 运行Hello代码
我正在尝试运行此代码,而我是一个初学者,我真的很挣扎,我不知道该怎么办. nb:这里使用了一个" mingw"版本的代码::块. #include #include int main() { printf ("Hello, world:"); #pragma omp parallel printf (" %d", omp_get_thread_num ()); printf ("\n"); return 0; } 解决方案 以以下方式更改调试器设置. 从Settings菜单中,单击Debugger...,然后在屏幕左侧选择Default,一种调试器类型.这应该显示Executable paths设置为: C:\MinGW\bin\gdb.exe 将其更改为: C:\Program Files\Codeblocks\MinGW\bin\gdb.exe 您应该能够使用调试器.
0 2023-05-19
编程技术问答社区
重定向输入输出的代码块
我是代码块的新手,我似乎无法将其与输出的命令行参数配合使用.有人知道怎么办吗? 我当前能够读取从argv [1]传递的文件,但是该程序并未自动读取给定文件的输入,也不正确地输出输出到文件输出. 我知道它是在set程序的参数上,我的参数行是:list.txt 输出 经过一番研究,我看到一个人这样做: ./output,似乎正在运行一个程序来提供输入和输出,无论如何,我也尝试过无济于事.我需要使用文件处理程序与之互动吗?它没有使人的意义,简单的getchar()应从传递输入文件中读取. 我在这里缺少什么? 预先感谢 解决方案 我找到了在CB 13.12 中找到一种方法 Tools -> Configure Tools -> Add: Name: whatever Executable: C:\Windows\System32\cmd.exe Parameters: /C ${TARGET_OUTPUT_BASENAME} exampleArg1
4 2023-05-15
编程技术问答社区
未定义的对`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 在这里摘录了汇编问题的
8 2023-05-11
编程技术问答社区
如何设置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 2023-05-11
编程技术问答社区
用opengl编译的程序,但不能运行
我想要Code :: Blocks的OpenGL,并使用以下链接进行设置: http://www.deannicholls.co.uk/tutorials/tutorials/show/show/cpp_glut 我尝试了示例文件: #include #include using namespace std; GLfloat mat_ambient[] = {0.5, 0.5, 0.5, 1.0}; GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0}; GLfloat mat_shininess[] = {50.0}; GLfloat light_position[] = {10.0, 10.0, 10.0, 0.0}; GLfloat model_ambient[] = {1.0, 0.5, 0.5, 1.0}; void setupMaterials() { glMater
0 2023-05-10
编程技术问答社区
使用Code::Blocks的GLUT编译错误
一周前,当我第一次尝试与Glut合作并跟随该教程它没有任何错误. 现在,一个星期后,我安装了相同的软件,相同的库,但是每次我尝试编译项目时,我都会收到这些错误(并且它突出显示了glut.h文件中的一行): obj\Debug\main.o(.text+0x1c)||In function `glutInit_ATEXIT_HACK':| C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|486|undefined reference to `__glutInitWithExit@12'| obj\Debug\main.o(.text+0x3d)||In function `glutCreateWindow_ATEXIT_HACK':| C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|503|undefined reference to `__glutCreateWindow
2 2023-05-10
编程技术问答社区
学习正确使用VBO
因此,我一直在试图教自己使用VBO,以提高我的OpenGL项目的性能并学习比固定功能渲染更多的高级内容.但是我没有发现很多不错的教程.到目前为止,我发现的最好的是 songho的教程 =" http://www.opengl.org/wiki/wiki/vertex_buffer_object" rel =" noreferrer"> openggl.org ,但是我似乎缺少某种背景知识来完全了解发生了什么,尽管我我正在发生什么,尽管我无法确切说明我没有得到什么,保存几个参数的用法. 无论如何,我一直在提前锻造,并提出了一些杂种代码,至少没有崩溃,但会导致奇异的结果.我想渲染的是(使用固定功能呈现;它应该是棕色和背景灰色,但是我所有的OpenGL屏幕截图似乎都采用洋红色作为他们最喜欢的颜色;也许是因为我在窗口上使用sfml?). 我得到的是: 我很茫然.这是我使用的相关代码,首先是用于设置缓冲对象(我按GLuint WorldBuffer; GLuint IndexBu
8 2023-05-10
编程技术问答社区
为什么这个GLUT程序不能编译?我是否缺少库或头文件?
我刚刚开始使用Linux(Mint 11),最近,我决定将OpenGL编程作为一种爱好.我发现代码和技术相对简单,但是,我很难尝试将所有资源在正确的位置获取.代码是: #include #include #include #ifdef __APPLE__ # include #else # include #endif static int make_resources(void) { return 1; } static void update_fade_factor(void) { } static void render(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glutSwapBuffers(); } i
8 2023-05-10
编程技术问答社区
让GLEW在Code::Blocks中进行编译
我想进入C ++中的OpenGL并使用Code :: Blocks.我能够获得FreeGlut的工作,以及几个在线示例(以及与CB一起运送的示例). 但是,当我尝试将GLEW包含在我关注的一些教程中时,我会收到以下编译器错误: obj\Debug\main.o||In function `RenderSceneCB':| C:\C Programs\OpenGL Test\main.cpp|12|undefined reference to `_imp____glewEnableVertexAttribArray'| C:\C Programs\OpenGL Test\main.cpp|13|undefined reference to `_imp____glewBindBuffer'| C:\C Programs\OpenGL Test\main.cpp|14|undefined reference to `_imp____glewVertexAttribPointer'| C:
4 2023-05-10
编程技术问答社区
在Codeblocks中设置GLUT项目(Ubuntu 12.04)。
我通过apt-get安装了freeglut3和freeglut3-dev.我想在CodeBlocks中创建一个OpenGL Glut项目.我被问到了过滤的位置,我在教程中发现了"/usr". 但是我收到了错误消息: "您输入的路径似乎有效,但是这个向导 无法找到以下Glut的库文件: 里面glut." 我设置了正确的位置吗?设置这样的小项目的正确方法是什么? 解决方案 我也面临着同样的问题.但是我在不创建项目并运行GLUT程序的情况下解决了问题.为此,转到编译器和调试器设置,在链接器选项卡和链接库中,libglu.so,libglut.so通过按添加按钮来形成usr/lib目录. 现在,您可以包含Glut.H标题并运行该项目. 其他解决方案 我假设您已经安装了过多的. 打开CodeBlocks,然后选择OpenGL项目.内部转到设置 - >编译器 - >链接器设置 - >链接库 分别添加Glut GL和Glu. 您的代码应运行. 其他解决方案
6 2023-05-10
编程技术问答社区
#error gl.h包含在glew.h之前。
因此,我试图将我的OpenGL代码从Main()移动到特定类,该类仅在必要时才处理3D图形.以前,我的amain.cpp文件的顶部看起来像这样: #define GLEW_STATIC #include #include #include #include #include #include "Game.h" 这效果很好.我试图做的是将所有与OpenGL相关的代码移动到Game类的方法中.因此,我从上面删除了#define GLEW_STATIC和#include ,然后将它们放入game.h中,使得game.h现在看起来像这样: #define GLEW_STATIC #include #include #include #include
40 2023-05-10
编程技术问答社区
对'_imp___glewGenBuffers'的未定义引用。
我在编译代码块上编译OpenGL 2.1程序时,有以下有关GLEW库的链接错误,mingw. obj\Debug\LUtil.o||In function `Z6renderv':| C:\Users\war\Desktop\CG\Hello\LUtil.cpp|162|undefined reference to `_imp____glewGenBuffers'| C:\Users\war\Desktop\CG\Hello\LUtil.cpp|163|undefined reference to `_imp____glewBindBuffer'| C:\Users\war\Desktop\CG\Hello\LUtil.cpp|164|undefined reference to `_imp____glewBufferData'| 另外,我已经正确地链接了这些库. -lopengl32 -glu32 -glew32 -lfreeglut 另外,我让项目找到适当的标题文件和
20 2023-05-10
编程技术问答社区
对`_imp__glewInit@0'的未定义引用。
我已经建造了很多次.我的最后构建删除了对所有着色器功能(例如glCreateShader())的未定义引用.我认为这种构建是正确的,因为我发现Code:Blocks可以打开Visual Studio 6.0项目,因此它为我提供了所有内容. 我可以在不调用glewInit()的情况下编译我的应用程序,但是当调用glCreateShader()时,它会导致segfault.这是由于不初始化glew而引起的. 我需要打开它,但它不会让我xD 链接:mingw32,glew32,opengl32,glu32,glut32 IDE:code :: blocks 编译器:mingw32 解决方案 节省了很多麻烦,只需直接将glew.c添加到您的项目中即可.我不明白为什么人们如此努力地将其与外部联系起来.许可证很友好,它只是一个源文件.只记得#define GLEW_STATIC. 其他解决方案 链接glew32在使用它的libs之后. 其他解决方案
10 2023-05-10
编程技术问答社区
GLEW链接器错误(未定义对`__glewBindVertexArray'的引用)。
我最近决定使用IM使用非折旧技术重写一些openGL代码.我不是用Glbegin()和glend()绘制原语,而是试图坚持顶点数组对象等.我正在尝试获取代码从 http:http:http:http:http:http:http:http:http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/.我以前做过很多链接,但由于某种原因,这不起作用.我正在尝试将GLEW与我的项目与CodeBlocks链接为我的IDE和MINGW GCC作为编译器.我该如何解决这个问题?是的,我确实链接了" glew32.lib" 解决方案 如果您静态地链接Glew,但不要通知标题会发生这种情况.为此,您必须定义预处理器令牌" glew_static".最好作为编译器选项完成.对于GCC,将-DGLEW_STATIC添加到编译器命令行. 其他解决方案 尝试以下方法: pkg-confi
12 2023-05-10
编程技术问答社区