草庐IT

C++标准

全部标签

c - Windows 和 Linux 中 printf 的区别

其实除了核心C语言,还有一个C库。如果我的理解是正确的,像printf这样的函数是C库的一部分。现在我已经在Windows的TurboC中用C语言编程,在Linux中使用gcc。我的问题是:像printf这样的函数在windows和linux中的代码实现是一样的吗?最终printf函数必须调用核心操作系统中的一个函数(在这两种情况下),以便在屏幕上显示ASCII字符?那么,由于两种操作系统不同,printf的代码实现在两种情况下是否也不同? 最佳答案 当然(printf的实现和中的所有函数)是不同的(在Linux和Windows上)

c++ - 链接器如何找到标准函数和 WinAPI 函数?

当我想使用标准C/C++库中的内容时,我可以只包含适当的header并使用该函数。WinAPI函数也是如此。我了解编译器如何找到这些header-它在本地搜索它们,如果找不到,则在一些预定义的系统文件夹中查找。但我不知道链接器是如何找到这些库的,因为我没有以任何方式包含它们... 最佳答案 如果您使用具有默认设置的VisualStudio2012,除了C运行时,链接器将链接到以下内容:内核32.libuser32.libgdi32.libwinspool.libcomdlg32.libadvapi32.libshell32.libo

c - 如何在 C (Windows) 中打印方框字符

如何在C中打印em破折号?其中之一:—每当我这样做时:printf("—")我只会在终端中得到一个ù。谢谢。编辑:下面的代码应该打印出一个Xs和Os外观的网格,水平线带有em破折号。intmain(){chargrid[3][3]={{'a','a','a'},{'a','a','a'},{'a','a','a'}};inti,j;for(i=0;i输出:(“ù”应该是“—”)a|a|aùùùùùùùùùùùùa|a|aùùùùùùùùùùùùa|a|a编辑:我在Windows10x64上使用Codeblocks16.01和C11。编辑:我被告知方框字符,问题已经演变为如何打印这些字符

c++ - 在 VC++ 中执行一个进程并返回它的标准输出

执行进程、等待它完成,然后将其标准输出作为字符串返回的最简单方法是什么?有点像Perl中的backtics。不是在寻找跨平台的东西。我只需要最快的VC++解决方案。有什么想法吗? 最佳答案 WinAPI解决方案:您必须使用重定向输入(STARTUPINFO结构中的hStdInput字段)和输出(hStdOutput)到您的管道(请参阅CreatePipe)创建进程(请参阅CreateProcess),然后只从管道中读取(请参阅ReadFile)。 关于c++-在VC++中执行一个进程并返

c++ - 如何使用显存作为标准内存存储?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。我会使用视频板(256mb)上的视频内存作为存储随机值的标准内存。我对视频图形知之甚少,但我知道一种方法是制作“模型”或其他视频图形对象来存储我的值,因此视频板认为它以这种方式处理视频图像或其他东西。但是还有其他方法吗?好文章是http://en.gentoo-wiki.com/wiki/Using_Graphics_Card_Memory_as_Swaplinux是如何实现它的。看来我需要为图

c - 将 printf 重定向到 IAR Embedded Workbench 上的控制台 I/O

我在Windows机器上的软件IAREmbeddedWorkbenchIDE中用C编写了我的一个项目。该项目编译并运行良好。我的代码中有几个printf函数。但问题是该项目适用于微ControllerAT91SAM7X256。我已成功构建我的应用程序以在微Controller的sram上运行,并且应用程序已成功加载。但是printf函数被定向到Controller的USART端口(我只能假设),所以我想重定向printf以在我的上显示文本终端输入/输出。有谁知道我该怎么做? 最佳答案 我使用IAR工具链的ARM、AVR32和MSP4

windows - 用户界面的缩放(放大/缩小)行为的标准键是什么

我们正在开发一个使用绘图显示数据的应用程序。我们允许放大和缩小——不需要上下滚动。双击用于放大,退格键用于缩小。+和-键是放大和缩小我们无法对向上和向下箭头进行标准化-向上箭头通常表示放大还是缩小?我们正在编写代码来进行缩放,这是一个UI问题-如果有更好的网站,请迁移。 最佳答案 双击缩放和退格缩小似乎不是一个直观的选择。我想说+/-和缩放键一样有意义,就像浏览器一样,但前提是您将它​​们与CTRL修饰符结合使用。箭头键绝对不能用于缩放。箭头键表示移动插入符号,或在没有插入符号时滚动。切勿将它们用于缩放。

windows - regsvr32 和标准输出

regsvr32实用程序禁止标准输出。例如:STDAPIDllRegisterServer(void){std::cout执行时:regsvr32my.dll标准输出中没有任何内容(显示成功消息框)。有没有办法让标准输出出现? 最佳答案 regsvr32.exe它是一个Windows应用程序。它没有控制台。printf或std::cout不会显示任何文本。如果你坚持要显示一些东西,你可以自己创建控制台。在文本输出之前调用以下行。AllocConsole();freopen("CONOUT$","w+t",stdout);

c - c 中的大质数

我在Eular问题页面上做另一个问题。10以下的素数之和为2+3+5+7=17。求出200万以下的所有质数之和。我已经设法编写了下面的代码,但我认为沿线的某个地方(即当我们得到大素数时)代码会失去准确性。答案应该是142913828922,但我得到的是1179908154。我不知道为什么我没有得到答案,因为下面的代码适用于10岁以下的child。任何帮助都会很棒。我做这些问题的原因是为了在C方面做得更好。代码:#include#include#include/*Initialise*/voidCalcNumber(unsignedlongnumber);intisPrime(unsig

c++ - 为什么我在 MinGW 中不需要标志 -lm 但在 Linux 中我明确需要它?

如果我需要使用数学库,我需要在Linux中使用GCC时添加-lm。但是在Windows上,当我在MinGW-w64中使用GCC时,我没有使用-lm并且它运行良好。我知道为什么需要链接libm的原因。但我真的不知道为什么我可以在Windows中忽略它? 最佳答案 因为在MinGW下,数学函数实际上并没有在libm中定​​义。“libm”是用作占位符的空库;数学函数实际上在MSVCRT.DLL中定义,whichMinGWusesasitsstandardlibrary.(使用系统的MSVCRT作为标准C库的有效性isdebatable。