2 Star 1 Fork 1

dpengchen / screenRobot 局域网群控助手

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

ScreenRobot 局域网群控助手

功能介绍:

  1. http 静态文件共享服务
  2. 服务端客户端群控同步功能

群控功能指的是:我在服务端做任何操作,客户端都会同步进行操作;应用场景可以为,群控执行执行脚本流程

常见问题解决:

一、 windows下 c/c++ 的编译问题

下载编译器:

  1. 进入网站 MinGW-w64
  2. 找到download中的 builds 打包好的网站
  3. 下载解压,将 解压路径/bin 添加到环境变量中
  4. 设置 go 环境
    go env -w CGO_ENABLED=1
    go env -w 
    # 如果没有报错下面不用执行,需要到下载解压之后的/bin中查找有没有匹配的文件
    go env -w CC=x86_64-w64-mingw32-gcc
    go env -w CXX=x86_64-w64-mingw32-g++

二、 引入 C 语言

声明:

  1. 可以使用相对路径、绝对路径 对于要配置的 CFLAGSLDFLAGS 都可以使用。
  2. 编译之后的名字链接库一定要是 lib + 文件名.a
  3. 一定要有头文件 xxx.h 文件声明要调用的函数名以及结构体等
文件结构:
|project
|
|——————lib
|       |——————test.h
|       |——————test.c
|——————main.go
//test.h
void test();
void testNumber(int num);

//结构体参数
typedef struct{
   char[10] name;
}Test;
void testStruct(Test* test);

//外部函数,golang中传递过去
void external(char c);
//test.c
#include <stdio.h>
#include "test.h"

void test(){
   printf("我执行了");
}
void testNumber(int num){
   printf("我是数字%d",num);
}
void testStruct(Test* test){
   printf("名字:%s",test->name)
}
# 编译test.c
gcc -c test.c
# 链接到test.o
ar rsc libteset.a test.o

编译完成后

文件结构:
|project
|
|——————lib
|       |——————test.h
|       |——————libtest.a
|       |——————test.o
|       |——————test.c
|——————main.go
package main

/*
#cgo CFLAGS: -I./lib
#cgo LDFLAGS: -I./lib -ltest
#include "test.h"
*/

import "C"
import "log"

//export External
func External(c C.char) {
   log.Println(c)
}

func main() {
   C.test()
   C.testNumber(C.int(10))
   C.testStruct(&C.Temp{
      name: C.newString("dpengchen"),
   })
}

空文件

简介

ScreenRobot 局域网群控助手 展开 收起
Java
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/dpengchen/screen_bobot.git
git@gitee.com:dpengchen/screen_bobot.git
dpengchen
screen_bobot
screenRobot 局域网群控助手
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891