结对编程:界面模块总结

我们组是用c++写底层模块,c#写界面。

c++生成dll然后在c#中调用。期间各种函数调用出了各种问题。

1.c#尝试读取或写入受保护的内存,这通常指示其他内存已损坏。

  这是由于c#跟c++某些数据类型不匹配导致的。c++中使用了char**,试了各种方法包括list,string[],vector,string等等始终无法解决,泛型无法传递,于是放弃一个一个传输字符串,打算一次传入所有字符串组成的字符串之后再把空格分开的字符串切割开,而同样是string,c#和c++的却又不一样,最后发现c#里用string,c++中用char*,这样调用函数就能匹配了。然而c++里并没有split方法,只能自己实现一个,比起别的坑这都没啥了。。。

2.c# 无法在 DLL“.dll”中找到名为“”的入口点

  这个试了各种方法始终找不到原因。包括检查参数,检查调用是否出错,dll是否注册,检查dll是否损坏,还怀疑是否要把函数返回值设成static但是都解决不了。最后知道了expends工具还有exescope工具,得知了c++编译的时候会加一些莫名其妙的符号,改变了函数名,所以用原本的函数名就调用不了了。然后尝试着用工具查看改变后的函数名,但是并没有找到,然后继续百度查到了可以加载模块定义文件.def这样就可以避免编译改变函数名。就资料里来看这是个通用的方法,比找函数名更加有效,然而不知道def怎么写,又百度了一下,幸好不难。然而写好了又不知道怎么添加进去工程里,试了几种方法,最后发现要手动添加。最后解决了。

3.指针和固定大小缓冲区只能在不安全的上下文中使用

  这个百度了一下需要设置一下允许不安全代码还有unsafe关键字就可以解决。然而最后这一部分代码改了。

4.包含非 ASCII 字符,在具有除 936 以外的 ANSI 代码页的系统上可能不能加载 DLL

  本来不知道有cpp文件可以直接生成dll,上网百度了一下以为要手动写各种东西然后输出成dll,研究了半天写好了于是出了这个错误,能编译就是链接出错。百度不到答案

到处问人也解决不了,最后这个问题也不知道原因。不过后来知道可以直接生成dll,所以这个问题也就过去了。

主要就这几个问题,还有一些小问题。解决这几个问题花了超过24个小时,昨晚通宵调也没能解决。所幸最后界面设计不是太难,只要封装的好,直接调用就可以了。

时间: 2024-08-06 17:38:35

结对编程:界面模块总结的相关文章

结对编程---带界面的数学题练习题(强烈安利windowbuilder)

一:个人项目模块-出题模块 本次结对项目是以队友的个人项目为基础,只是开始我们是以c++写的,然后由于结对项目中需要短信验证码功能,而阿里云没有c++的接口,再加上我们了解过java的UI界面,于是就把原个人项目改为了java.改为java版的代码的主要就是生成题目的类. 之前队友的个人项目是全都在主函数里实现的,在Java中我们将每个年级的题目生成单独出来实现 二:解题模块 本模块在实现的时候本来是想自己写类进行计算的,后来了解到Java中有计算Java的字符串中的算式的函数,只不过只能计算出

结对编程_附加题_博客2

1.界面模块,测试模块和核心模块的松耦合 2.改进程序 结对编程_附加题_博客2

结对编程 (201421123002,201421123006,201421123007)

201421123002 翁珊, 201421123006 黄月梅, 2014211007 徐晓珊 题目描述: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一个有基本功能.一定价值的程序. 1.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算. 2.有计时功能,能显示用户开始答题后的消耗时间. 3.界面支持中文简体/中

软件工程项目之二:结对编程——四则运算生成计算程序

0x01 :简介 本次的编程任务是完成一个具有UI界面的,具备四则运算生成.计算.判断对错功能的程序.本次程序使用C#语言编写,用时为2周. 0x02 :软件工程和PSP表格记录 PSP 2.1 Persinal Software Process Stages Time(Estimated) Time(Real) Planning 计划     Estimate 估计这个任务需要多少时间 24h 36h Development 开发     Analysis 需求分析(包括学习新技术) 8~10

结对编程——黄金点游戏之旅【二】

一.黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数(不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分. 二.后续功能的实现功能 经过三天的努力,我们终于完成了开始游戏.取消准备.查看历史纪录.添加测试以及退出登录功能. 1.开始游戏(准备游戏)功能介绍:玩家登陆成功后直接进入游戏界面,下方的准备窗口会

结对编程1——四则运算-GUI

码市链接:https://coding.net/u/hmhhh/p/hmh-homework/git/tree/master/ 201421123003 黄建英 201421123004 黄美海 题目描述: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一个有基本功能.一定价值的程序.在下面的功能需求中实现两个:1.记录用户的对错总数,程序退出再启动的时候

结对编程过程(两人整合)

一.结对题目和需求分析 1.结对题目:”五子棋游戏“ 2.需求分析:①一个能运行的五子棋游戏 ②有一面大小合适能满足玩家的棋盘 ③简洁.清晰的界面和背景音乐及音效提示 ④有辅助菜单选项和帮助说明 ⑤具备棋子数量统计和悔棋功能 二.代码上传(截图)及合作的合影 1.代码上传(关键代码): 2.运行效果截图: 3.合作合影: 三.约定的规范 1.界面设计 一切从简.人性化 2.代码规范 ①首行缩进为标准的4个空格符 ②花括号格式 ***{ } ③注释模块在其上方换行+//****** 注释行在其上方

结对编程2-单元测试

小组成员:王杰(201421123055).王震(201421123054) coding地址:https://git.coding.net/a506504661/danyuances.git 一.需求分析: 通过单元测试代码,测试加法是否能正确工作: 通过单元测试代码,测试加减乘除功能. 通过单元测试代码,测试计算类对于各种参数的支持: a. 输入是有错误的,例如 "1 ++ 2" . b. 在数值范围是 -1000 .. 1000 的时候,传进去 "10000 + 327

结对编程作业:四则运算

截止日期 2018年4月12日15:30 提交地址 https://github.com/eudaem/homework2 本次结对编程作业分为以下两种类型Core(计算核心)和UI(用户界面),每组任选一个完成,原则上两种类型题目各占一半 Core 像<构建之法>的人物阿超那样,写一个能自动生成小学四则运算题目并给出答案的命令行 "软件", 如果我们要把这个功能放到不同的环境中去(例如,命令行,Windows 图形界面程序,网页程序,手机App),就会碰到困难,因为目前代

结对编程第一次作业

审查代码地址:https://coding.net/u/littlepudding/p/Softwarehomework_PairProgram/git?public=true 功能模块名称 Floyd最短路算法 审查人 吕伟华 审查日期 2018.4.5 代码名称 Floyd最短路算法 代码作者 陈鑫 文件结构 重要性       审查项 结论                  头文件和定义文件的名称是否合理? 不合理 头文件和定义文件的目录结构是否合理? 不合理 版权和版本声明是否完整? 不