compile:XP编译通过,添加XP下Makefile编译脚本。
This commit is contained in:
parent
4d4631bec5
commit
e37e256e44
53
Makefile
53
Makefile
@ -1,43 +1,43 @@
|
|||||||
# 编译器和标志
|
#
|
||||||
|
# ***************************** XP make SCRIPT ********************************
|
||||||
|
#
|
||||||
|
# XP USE, Test On Windows XP SP3 under mingw730_32 with boost1.81 filesystem
|
||||||
|
# boost compile arg: b2.exe link=static runtime-link=shared --with-filesystem --prefix=C:\boost install
|
||||||
|
export PATH := C:\mingw32\bin:$(PATH)
|
||||||
CXX = g++
|
CXX = g++
|
||||||
CXXFLAGS = -Wall -std=c++17 -I./ -I./3rd -I./net -I./ofen/include -I./util # 添加 3rd 目录的头文件路径
|
CXXFLAGSA = -O2 -Wall -DUSE_BOOST_FILESYSTEM -std=c++17 -I./ -I./3rd -I./net -I./ofen/include -I./util
|
||||||
|
CXXFLAGSB = -IC:\boost\include\boost-1_81 -Wno-unused-variable
|
||||||
# 目录
|
# 目录
|
||||||
SRCDIR = src
|
CURDIR_WINDOWS := $(subst /,\,$(CURDIR))
|
||||||
OBJDIR = obj
|
OBJDIR = $(CURDIR_WINDOWS)\build\obj
|
||||||
BINDIR = bin
|
BINDIR = $(CURDIR_WINDOWS)\build\bin
|
||||||
LIBDIR = lib
|
LIBDIR = $(CURDIR_WINDOWS)\build\lib
|
||||||
THIRDDIR = 3rd
|
|
||||||
|
|
||||||
# 库路径和库文件
|
# 库路径和库文件
|
||||||
LIB_PATHS = -L$(LIBDIR) -L$(THIRDDIR)/lib # 假设 3rd 下有一些库文件
|
LIB_PATHS = -L$(LIBDIR) -LC:\boost\lib
|
||||||
LIBS = -lws2_32 -lwsock32
|
LIBS = -lws2_32 -lwsock32 -lboost_filesystem-mgw7-mt-x32-1_81
|
||||||
|
|
||||||
# 源文件
|
# 源文件
|
||||||
UTIL_SRC = $(wildcard util/*.cpp)
|
UTIL_SRC = $(wildcard util/*.cpp)
|
||||||
NET_SRC = $(wildcard net/*.cpp)
|
NET_SRC = $(wildcard net/*.cpp)
|
||||||
OFEN_SRC = $(wildcard ofen/src/*.cpp)
|
OFEN_SRC = $(wildcard ofen/src/*.cpp)
|
||||||
CLIENT_SRC = $(wildcard client/*.cpp)
|
CLIENT_SRC = $(wildcard client/*.cpp)
|
||||||
SERVER_SRC = $(wildcard server/*.cpp)
|
SERVER_SRC = $(wildcard server/*.cpp)
|
||||||
|
|
||||||
# 对应的目标文件
|
# 对应的目标文件
|
||||||
UTIL_OBJ = $(UTIL_SRC:%.cpp=$(OBJDIR)/%.o)
|
UTIL_OBJ = $(UTIL_SRC:%.cpp=$(OBJDIR)/%.o)
|
||||||
NET_OBJ = $(NET_SRC:%.cpp=$(OBJDIR)/%.o)
|
NET_OBJ = $(NET_SRC:%.cpp=$(OBJDIR)/%.o)
|
||||||
OFEN_OBJ = $(OFEN_SRC:%.cpp=$(OBJDIR)/%.o)
|
OFEN_OBJ = $(OFEN_SRC:%.cpp=$(OBJDIR)/%.o)
|
||||||
CLIENT_OBJ = $(CLIENT_SRC:%.cpp=$(OBJDIR)/%.o)
|
CLIENT_OBJ = $(CLIENT_SRC:%.cpp=$(OBJDIR)/%.o)
|
||||||
SERVER_OBJ = $(SERVER_SRC:%.cpp=$(OBJDIR)/%.o)
|
SERVER_OBJ = $(SERVER_SRC:%.cpp=$(OBJDIR)/%.o)
|
||||||
|
|
||||||
# 库文件
|
# 库文件
|
||||||
UTIL_LIB = $(LIBDIR)/libutil.a
|
UTIL_LIB = $(LIBDIR)\libutil.a
|
||||||
NET_LIB = $(LIBDIR)/libnet.a
|
NET_LIB = $(LIBDIR)\libnet.a
|
||||||
OFEN_LIB = $(LIBDIR)/libofen.a
|
OFEN_LIB = $(LIBDIR)\libofen.a
|
||||||
|
|
||||||
# 可执行文件
|
# 可执行文件
|
||||||
CLIENT_BIN = $(BINDIR)/client
|
CLIENT_BIN = $(BINDIR)\client.exe
|
||||||
SERVER_BIN = $(BINDIR)/server
|
SERVER_BIN = $(BINDIR)\server.exe
|
||||||
|
|
||||||
# 生成的目标文件夹
|
# 生成的目标文件夹
|
||||||
$(shell mkdir -p $(OBJDIR) $(BINDIR) $(LIBDIR))
|
$(shell if not exist "$(OBJDIR)" md "$(OBJDIR)")
|
||||||
|
$(shell if not exist "$(BINDIR)" md "$(BINDIR)")
|
||||||
|
$(shell if not exist "$(LIBDIR)" md "$(LIBDIR)")
|
||||||
|
|
||||||
# 默认目标:编译所有目标
|
# 默认目标:编译所有目标
|
||||||
all: $(CLIENT_BIN) $(SERVER_BIN)
|
all: $(CLIENT_BIN) $(SERVER_BIN)
|
||||||
@ -56,19 +56,20 @@ $(OFEN_LIB): $(OFEN_OBJ)
|
|||||||
|
|
||||||
# 生成 client 可执行文件
|
# 生成 client 可执行文件
|
||||||
$(CLIENT_BIN): $(CLIENT_OBJ) $(UTIL_LIB) $(NET_LIB) $(OFEN_LIB)
|
$(CLIENT_BIN): $(CLIENT_OBJ) $(UTIL_LIB) $(NET_LIB) $(OFEN_LIB)
|
||||||
$(CXX) -o $@ $^ $(CXXFLAGS) $(LIB_PATHS) $(LIBS)
|
$(CXX) -o $@ $^ $(CXXFLAGSA) $(CXXFLAGSB) $(LIB_PATHS) $(LIBS)
|
||||||
|
|
||||||
# 生成 server 可执行文件
|
# 生成 server 可执行文件
|
||||||
$(SERVER_BIN): $(SERVER_OBJ) $(UTIL_LIB) $(NET_LIB) $(OFEN_LIB)
|
$(SERVER_BIN): $(SERVER_OBJ) $(UTIL_LIB) $(NET_LIB) $(OFEN_LIB)
|
||||||
$(CXX) -o $@ $^ $(CXXFLAGS) $(LIB_PATHS) $(LIBS)
|
$(CXX) -o $@ $^ $(CXXFLAGSA) $(CXXFLAGSB) $(LIB_PATHS) $(LIBS)
|
||||||
|
|
||||||
# 编译 .cpp 文件为 .o 文件
|
# 编译 .cpp 文件为 .o 文件
|
||||||
$(OBJDIR)/%.o: %.cpp
|
$(OBJDIR)/%.o: %.cpp
|
||||||
$(CXX) -c -o $@ $< $(CXXFLAGS)
|
@if not exist "$(subst /,\,$(dir $@))" (md "$(subst /,\,$(dir $@))")
|
||||||
|
$(CXX) -c -o $@ $< $(CXXFLAGSA) $(CXXFLAGSB)
|
||||||
|
|
||||||
# 清理生成的文件
|
# 清理生成的文件
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(OBJDIR) $(BINDIR) $(LIBDIR)
|
rd /S /Q $(CURDIR_WINDOWS)\build
|
||||||
|
|
||||||
# 只编译可执行文件
|
# 只编译可执行文件
|
||||||
.PHONY: all clean
|
.PHONY: all clean
|
||||||
|
@ -460,7 +460,7 @@ void CClient::handle_frame(CFrameBuffer* buf)
|
|||||||
task_list_[index]->id = id;
|
task_list_[index]->id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
logger_->debug("**********************************************************");
|
logger_->debug("*****************************************");
|
||||||
logger_->info("{}", real);
|
logger_->info("{}", real);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include <filesystem>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <of_path.h>
|
#include <of_path.h>
|
||||||
#include <of_str.h>
|
#include <of_str.h>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
using namespace ofen;
|
using namespace ofen;
|
||||||
constexpr int g_MaxCacheLen = 1024 * 1024 * 50;
|
constexpr int g_MaxCacheLen = 1024 * 1024 * 50;
|
||||||
CTcpServer::CTcpServer(asio::io_context& io_context, const std::shared_ptr<spdlog::logger>& logger)
|
CTcpServer::CTcpServer(asio::io_context& io_context, const std::shared_ptr<spdlog::logger>& logger)
|
||||||
: io_context_(io_context), logger_(logger), acceptor_(io_context)
|
: io_context_(io_context), acceptor_(io_context), logger_(logger)
|
||||||
{
|
{
|
||||||
th_run_ = true;
|
th_run_ = true;
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,8 @@ CFrameBuffer* CTransProtocal::parse(CMutBuffer& buffer)
|
|||||||
unsigned char tail[] = {0xFF, 0xFF};
|
unsigned char tail[] = {0xFF, 0xFF};
|
||||||
|
|
||||||
// 如果超出 1MB的内容都无法解析成功,则认为是有无效客户端参与链接。
|
// 如果超出 1MB的内容都无法解析成功,则认为是有无效客户端参与链接。
|
||||||
if (buffer.get_len() > MAX_FRAME_SIZE) {
|
size_t cur_len = static_cast<size_t>(buffer.get_len());
|
||||||
|
if (cur_len > MAX_FRAME_SIZE) {
|
||||||
buffer.clear();
|
buffer.clear();
|
||||||
// 这里故意延迟。
|
// 这里故意延迟。
|
||||||
std::this_thread::sleep_for(std::chrono::seconds(600));
|
std::this_thread::sleep_for(std::chrono::seconds(600));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user