openWrt编译第一个“Hello_world”应用程序IPK安装包

安装openWrt固件

我用的是ubuntu,首先需要在ubuntu上安装openWrt的固件,至于安装固件的步骤这里就不多说了。

hello_world程序准备

我上一篇博客中有关于共享文件夹的设置,在windows中新建一个目录,可以和ubuntu共享一个文件夹,不需要用winscp把windows上的文件再传输到ubuntu上,这中方法还是比较麻烦的;

使用notepad++编写一个简单的 hello_world.c 程序,然后将 hello_world.c 文件保存在 @/hello_world/src 路径中:

#hello_world.c文件


#include <stdio.h>

int main(char argc,char *argv[])
{
	int i = 0;
	while(1)
	{
		printf("Hello world!!!%d\n",i);//打印内容
		i++;
		
		if(i>10) i=0;
		
		sleep(1);
		
	}
	
	return 0;
}

编写Makefile,然后将 Makefile文件保存在 @/hello_world/src 路径中。:

all:hello_world

hello_world:hello_world.o
	$(CC) $(LDFLAGS) hello_world.o -o hello_world
	
hello_world.o:hello_world.c
	$(CC) $(CFLAGS) -c hello_world.c
	
clean:
	
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是在 OpenWrt 平台上编译一个简单的 WebSocket 服务器的步骤: 1. 安装 OpenWrt SDK 首先需要安装 OpenWrt SDK,可以参考官方文档进行安装:https://openwrt.org/docs/guide-developer/sdk/installation 2. 添加 WebSocket 库依赖 在 SDK 中添加 WebSocket 库依赖,可以在 Makefile 中添加以下内容: ```Makefile DEPENDS:=+libwebsockets ``` 这样在编译时就会自动安装 libwebsockets 库。 3. 编写 WebSocket 服务器代码 在 SDK 中创建一个新的目录,然后在该目录下创建一个名为 server.c 的文件,用来编写 WebSocket 服务器的代码。 ```C #include <libwebsockets.h> #define MAX_PAYLOAD_SIZE 1024 static int callback_echo(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { switch (reason) { case LWS_CALLBACK_ESTABLISHED: printf("Connection established\n"); break; case LWS_CALLBACK_RECEIVE: { char buffer[MAX_PAYLOAD_SIZE]; memcpy(buffer, in, len > MAX_PAYLOAD_SIZE ? MAX_PAYLOAD_SIZE : len); buffer[len] = '\0'; printf("Received message: %s\n", buffer); lws_write(wsi, (unsigned char *) buffer, len, LWS_WRITE_TEXT); break; } case LWS_CALLBACK_CLOSED: printf("Connection closed\n"); break; default: break; } return 0; } static struct lws_protocols protocols[] = { { "echo-protocol", callback_echo, 0, MAX_PAYLOAD_SIZE }, { NULL, NULL, 0, 0 } }; int main(int argc, char const *argv[]) { struct lws_context_creation_info info = {0}; struct lws_context *context; const char *address = "127.0.0.1"; int port = 8000; info.port = port; info.protocols = protocols; context = lws_create_context(&info); if (!context) { printf("Failed to create websocket context\n"); return -1; } printf("WebSocket server started at ws://%s:%d\n", address, port); while (1) { lws_service(context, 50); } lws_context_destroy(context); return 0; } ``` 上述代码实现了一个简单的 WebSocket 服务器,当客户端连接时,会打印 "Connection established",当收到客户端的消息时,会打印 "Received message: [message]" 并将消息返回给客户端,当客户端断开连接时,会打印 "Connection closed"。 4. 编译代码 在 SDK 的根目录下,使用以下命令编译代码: ```bash make package/feeds/packages/libwebsockets/compile make package/feeds/packages/server/compile V=s ``` 其中,第一条命令用来编译 libwebsockets 库,第二条命令用来编译 WebSocket 服务器代码。 5. 运行代码 在 OpenWrt 安装编译好的 WebSocket 服务器,可以运行以下命令启动服务器: ```bash ./server ``` 这样 WebSocket 服务器就启动了,可以通过浏览器或 WebSocket 客户端连接到服务器,并发送消息进行测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值