小编tbe*_*ert的帖子

简单的c编程gui

我用C语言开发了蒸汽表方程求解器......但是在黑屏控制台中输入值很无聊.

所以我非常想在C中创建简单的GUI.

我搜索了你好的世界代码,都很长.但这是我理解的唯一一个.

#include <windows.h>

int main()
{
MessageBoxA( NULL, "Hello World!", "Hello", MB_OK );
}
Run Code Online (Sandbox Code Playgroud)

通过使用GUI构建器C,我得到这个代码,现在我在想如何扫描从textBox1的1和TextBox值CommandButton1的点撃,并显示在TEXTBOX3输出

#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
#include "hello.auto.h"


HWND hwnd_Label1, hwnd_Label2, hwnd_TextBox1, hwnd_TextBox2, hwnd_CommandButton1,
hwnd_TextBox3;

HFONT MSSansSerif_8pt;



void CreateChildWindows(HWND hwndMainWindow, HINSTANCE hInstance)
{
InitCommonControls();

MSSansSerif_8pt = CreateFont(-11,0,0,0,FW_NORMAL,0,0,0,0,0,0,0,0,"MS Sans Serif");

hwnd_Label1 = CreateWindowEx(0, "Static", "Pressure",
    WS_CHILD | WS_VISIBLE,
    11, 55, 95, 38, hwndMainWindow,
    (HMENU)Label1, hInstance, NULL);

SetWindowFont(hwnd_Label1, MSSansSerif_8pt, TRUE);

hwnd_Label2 = CreateWindowEx(0, "Static", "Temperature",
    WS_CHILD | …
Run Code Online (Sandbox Code Playgroud)

c user-interface textbox button win32gui

5
推荐指数
1
解决办法
5933
查看次数

如何在C/C++中进行TCP连接池

我正在设计一个带有C++的分布式服务器/客户端系统,其中许多客户端通过TCP向服务器发送请求,服务器抛出一个线程来处理请求并发回它的响应.在我的用例中,只有有限数量的客户端将访问服务器,我需要非常高的性能.从客户端和服务器发送的数据都很小,但非常频繁.因此,在使用后创建连接并将其拆除是很昂贵的.所以我想使用连接缓存来解决这个问题:一旦创建连接,它将被存储在缓存中供将来使用.(假设客户端的数量不会超出缓存的大小).

我的问题是:

  1. 我看到有人说连接池是一种客户端技术.如果此连接池仅用于客户端,则第一次连接到服务器并发送数据.此连接操作会触发服务器端的accept()函数,该函数返回用于从客户端接收的套接字套接字.因此,当客户端想要使用现有连接(在缓存中)时,它不会建立新连接,而只是发送数据.问题是,如果没有建立连接,谁会在服务器端触发accept()并抛出一个线程?
  2. 如果还需要在服务器端实现连接池,我怎么知道请求的来源?由于只能从accept()获取客户端地址,但同时accept()已经为该请求创建了一个新套接字,因此没有必要使用缓存连接.

任何答案和建议将不胜感激.或者任何人都可以给我一个连接池或连接缓存的例子?

c c++ connection tcp connection-pooling

3
推荐指数
1
解决办法
5181
查看次数

Interupts Vs Poling a Device

在我的申请中没有.设备(摄像机,A/D,D/A等)正在与服务器通信.我有两种方法可以节省设备的功耗,因为并非所有设备都必须始终工作:

1-进行极化,即每个设备定期继续查看文件内容,以获取唤醒或睡眠的值.如果它发现了唤醒,那么它就会醒来并完成它的工作.

在这种情况下,实际上设备将处于休眠状态,但驱动程序将处于活动状态并进行极化.

2-使用中断,我可以在需要时唤醒设备.

我无法决定走哪条路以及为什么.有人可以在这方面赐教我吗?

平台:Windows 7,32位,运行在Intel Core2Duo上

c embedded windows-7

2
推荐指数
1
解决办法
151
查看次数

当ac/c ++语句只包含变量名时,是否有任何特定用途?

我曾经看过一段代码如下,

/** Starts a synchronized block
*
*   This macro starts a block synchronized on its argument x
*   Note that the synchronized block defines a scope (i.e. { })
*   All variables declared in it will live inside this block only
*/
#define SYNCHRONIZE_ON(x) { \
                const abcd::LockBase & __lock = \
                                abcd::MakeLock(x); __lock;

/** Ends a synchronized block */
#define END_SYNCHRONIZE   }
Run Code Online (Sandbox Code Playgroud)

SYNCHRONIZE_ONEND_SYNCHRONIZE一起用来在物体上同步.宏在它的块中SYNCHRONIZE_ON定义了一个变量____lock.

这里的问题是:句子__lock;(之后abcd::MakeLock(x);)是什么?请注意,该句子仅包含变量名称.

c++

2
推荐指数
1
解决办法
232
查看次数

在 c 中嵌入 lua 代码

我正在尝试按照此处给出的关于将 lua 嵌入 C的 besic 指南进行操作。我将代码逐字复制到我自己的 embed.c 文件中,并执行了列出的确切编译器命令:

cc -o embed embed.c \
            -I/usr/local/include \
            -L/usr/local/lib \
            -llua -llualib
Run Code Online (Sandbox Code Playgroud)

我收到错误:

embed.c:19:14: error: invalid storage class for function ‘openlualibs’
Run Code Online (Sandbox Code Playgroud)

之后我将函数移到 之外main,再次编译,得到:

/usr/bin/ld: cannot find -llualib
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我不能编译这个。lua 安装正确。有没有其他人遇到过这些问题?如果这是一个糟糕的教程,请随时简单地将我引向一个击球手。

c lua

2
推荐指数
1
解决办法
1641
查看次数

为什么即使我刚编译源代码,我的makefile也会重新编译?

我有一个简单的makefile,它p.c使用gccLinux在Linux上编译文件.该p.c文件取决于a.h文件.我的makefile看起来像这样:

//makefile
CC = gcc

build: p.c a.h
    $(CC) -o out p.c
clean:
    rm -f *.exe
rebuild: clean build
Run Code Online (Sandbox Code Playgroud)

c makefile

0
推荐指数
1
解决办法
146
查看次数