• 如何在C中创建中断或后台任务

    我试图弄清楚如何在C中进行后台进程,但是我还没有在线找到任何东西。我认为我没找到太多的原因是我可能没有问正确的问题。 我正在使用Raspbian操作系统和GCC编译器使用ARM汇编和C与Raspberry Pi一起使用C的学校项目。 对于我的项目,我决定做一个简单的警报系统。这个想法很简单,我有3个PIR传感器来检测运动,并在检测到运动时触发蜂鸣器。 我选择使用GUI代替在键盘上使用硬件,而是在其中可以布防/撤防系统以及更改密码和打开/关闭某些传感器。例如,如果您想关闭运动传感器1和2,则GUI上将有一些按...
  • 如何检查目标代码是否为16/32位?

    Is there any way by which we can identify that a .obj file and .exe file is 16/32 bit? 基本上,我想创建一个智能链接器,该链接器将自动确定给定文件名需要传递给哪个链接器。 Preferred Language: C (it can be different, if needed) I am looking for some solution that can read the bytes of an .exe/the co...
  • 搜索匹配的括号

    因此,我的背景不是CS,因此我将编程作为一种爱好。无论如何,我都需要解决这个问题:给定类似“([]]”的表达式,请检查该表达式是否具有匹配的括号样式,即是否匹配“ [”和匹配“(”。 我确实意识到有解决方案,但是那些解决栈问题,我还没有了解。所以我尝试了自己的面条,看起来很意大利面,但是可以用。 /* Program to check if parens are balanced */ #include <stdio.h> #include <string.h> int main(){ char ...
  • 从DLL dllmain-setup区域内调用函数

    在复查一个名为“ DLLMAIN区域内的调用函数”的问题时,我的问题是沿着这些思路进行的。在如下所示的DLLMAIN代码中,我有几个函数可以调用来设置我的工作环境。不起作用,甚至在代码中设置了断点来中断执行,因此我可以开始调试代码了,但是还是没有运气。有人知道我做错了什么,有什么好主意可以帮助我解决问题吗?如果我无法执行此代码,则我的应用程序沉没了。 随便,谢谢。我的DLL文件是用“ C”编写的,未处理。 switch (fdwAction) { /// (1) was dw_reason ...
  • 我可以检测和更改gcc / g ++中结构的当前数据对齐设置吗?

    My question is based off a part of this wiki answer to the question of Why isn't sizeof for a struct equal to the sum of sizeof of each member? (emphasize mine): “重要提示:C和C ++标准均声明结构对齐方式是实现定义的。因此,每个编译器可能选择不同地对齐数据,从而导致不同且不兼容的数据布局。因此,在处理将由以下人员使用的库时在不同的编译器中,了解...
  • 使用C程序捕获Linux事件

    我想捕获USB设备连接/断开连接(大容量存储和串行设备)的linux内核事件。 对于具有连接状态的大容量存储设备,程序应获得设备名称(可移动磁盘的USB设备),连接到该设备的路径(例如:/ dev / sdb)和安装点(例如:/ media / root / usb) 。 对于具有连接状态的串行设备,程序应获得设备名称(例如:PL203 TTL连接器)和串行安装位置(例如:/ dev / serial0或/ dev / ttyUSB0)。 请帮助我提供任何示例程序(或)有用的资源(或)库。 问候, 阿肖克
  • 在C中使用结构进行浅复制

    假设您具有以下结构: typedef struct { int age; } Child; typedef struct { int age; Child firstChild; } Parent; int main() { Parent p1 = {5, {3}}; Parent p2 = p1; 将p1复制到p2时,是在两个字段上还是仅在Child字段上执行浅表复制?我的猜测是年龄是按值复制的,而firstChild是浅表复制的。
  • 为什么使用Visual Code的C语言编译器不起作用?

    我只是用Visual Code用C语言编写了我的第一个程序。我没有任何错误,但是程序无法编译。在终端上,我输入clang cardsa.c。这给了我c不存在的错误。我尝试输入clang -o并得到与clang不存在相同的错误。我该如何编译? 我也尝试在CodeBlocks中对此进行编码,但是当我运行该程序时,我不断收到该程序首先需要构建的错误,我单击该错误后它没有执行任何操作。我尝试了几次,单击“生成”,当多次尝试失败后,我切换到“可视代码”。
  • 我如何减小数组的大小?

    #include<stdio.h> #include<conio.h> #include<stdlib.h> void main() { int i=0,pos; int *ptr; clrscr(); ptr=(int *)malloc(10*sizeof(int)); printf("Enter 10 Elements:\n"); while(i<10) { scanf("%d",&ptr[i]); i...
  • 子进程中的C当前目录

    我正在编写一个自定义PAM模块。 我已经按照Linux-PAM的要求编写了一个共享库(.so)文件。 .so文件的作用是调用嵌入式Python打开我的面部识别,并且根据结果,将返回PAM_SUCCESS或PAM_AUTH_ERR 在/etc/pam.d/sudo文件中,我告诉PAM该文件位于(/home/berns/2020-ca326-cberns-fileencryption-with-opencv/PAM/pam_authnew.so)中。没关系,因为键入sudo时,我可以看到自己的个人错误语句正在打...
  • 使用ncurses而不安装它

    我正在使用ncurses的项目中。我想知道是否有一种无需在计算机上安装就可以使用此库的方法?我的意思是,除了安装它之外,还有没有一种方法可以拥有.h文件并将其编译到makefile中并使用它们? 在此先感谢您的回复
  • PostgreSQL PqGetValue char转换为C编程中的整数

    我对PostgreSQL结果和C语言中的整数有一点问题。所以我有一个具有这种结构的简单表: ID(pk int)|名称(文字)|值(int) 1 |苹果| 100 2 |香蕉| 9 我使用此代码: PGconn *conn = PQconnectdb("user=un password=pw dbname=db hostaddr=1.2.3.4 port=5432"); res = PQexec(conn, "SELECT * FROM fruits WHERE name='banana'"); int *...
  • 由于未定义的引用,无法在Windows下编译共享库

    I'm using the same waf script, both for Linux and for Windows, to compile a shared-library for a program (which is able to load shared libraries at run-time). 为了创建这个库,我导入了主程序的一些头文件,因此我可以在库中调用主程序的函数,并且在运行时解析符号,并且在Linux下可以运行。 Under Windows I'm not able to bu...
  • 细分错误-尝试加密argv []并给我错误

    因此,我最近开始进行c编程,以了解内存和逆向工程。我想在c中创建以下加密代码: #include <stdio.h> #include <string.h> int main(int argc, char *argv[]){ //Someone pls explain use of *argv and **argv as well if(argc==2){ printf("Checking the License: ",argv[...
  • 如何在C中打印多字符常量?

    我正在尝试使用大于128的ASCII值在ncurses中创建一个框。有一个扩展的ASCII表,一直到255,并且我想对边框使用ASCII值176。 除非我在打印语句中打印确切的字符,否则会产生很多错误。 例如: wborder(local_win, '░', '░', '░', '░', '░', '░', '░', '░'); 这应该将该符号打印为盒形格式,但是却给我以下错误: “警告:多字符字符常量[-Wmultichar]” 我尝试将ASCII值输入到其中,尝试使用保存ASCII谷值的变量,但没有任...
  • 如何在不使用功能isdigit的情况下使用fgets来检查用户输入的字符串是否是字符串?

    我收到应该放入数组的输入,尽管我已经实现了检查数组是否太短/太长的方法,但似乎无法绕过数组是否包含非数字字符。 数组由空格分隔,并且始终以EOF结尾,我也想出了那部分。这是我尝试过但无法解决问题的一些方法。我的代码有问题吗? char *str; long nums; fgets (line, BUFFER, stdin); nums = strtol(line, &str, 10); if (str != '\0'){ printf("Invalid...
公告

欢迎访问 码农俱乐部  点击这里设置您的邮箱  可以接收站内跟帖、回复邮件提醒,不错过任何一条消息。

关注公众号订阅更多技术干货! 码农俱乐部