精华内容
下载资源
问答
  • 许多回答都没有说清楚,简单回答一下:1、天使投资核心点:赌新产品或新商业模式能够被市场接受,看核心创始人是不是做这个事的人需要注意的地方:(1)产品从0-1的时间过去几年接盘侠特别多,主要资金相对充裕,...

    许多回答都没有说清楚,简单回答一下:

    1、天使投资

    核心点:赌新产品或新商业模式能够被市场接受,看核心创始人是不是做这个事的人

    需要注意的地方:

    (1)产品从0-1的时间

    过去几年接盘侠特别多,主要是资金端相对充裕,很多产品或者商业模式在从0到1的过程中都融了ABC轮,典型的case是Magic Leap,说实话在产品做出来并得到市场验证之前都叫做天使轮,和公司的成立时间没有关系。因此产品做出来之前的BC轮是风险最大的,聪明的钱都会远离这类公司

    (2)商业模式的可行性

    大多数商业模式创新都是想当然,比如通过传感器获得数据后将数据卖给保险公司或咨询公司,再如汽车行业中游放弃与下游整车厂结盟的机会转而去与上游零配件厂构建价格联盟,再如明明是个toB大乙方却做梦想要学习toC平台靠砸钱获得高成长性。违背商业本质的商业模式创新都是扯淡,聪明的钱也会远离这类公司

    2、风险投资(VC)

    核心点:在新产品和新商业模式被市场接受后,赌新产品和新商业模式能够被更广泛的市场接受,即对公司成长性的判断

    需要注意的地方:

    (1)成长速度:这是VC的核心本质,如果没有高成长性,毫无意义。如果资金砸进去不能帮助企业快速扩张,毫无意义。如果成长过程中不能形成网络效应、较高的转换成本、有效规模,毫无意义。

    (2)蓝海or红海:蓝海市场容易遭遇系统性风险,如当年的ARVR。红海市场已验证需求及产业链格局,相对更安全,新产品和新模式的扩张相对更容易;

    (3)竞争壁垒:新产品和新模式带来的差异化竞争力,以及同类新产品和新模式公司之间的差异化竞争力

    3、PE

    核心点:赌公司符合IPO标准,具备从非标资产标准化的能力

    需要注意的地方:

    (1)夹层资本:对赌回购协议的广泛应用让国内PE实质上成为夹层资本,与债权投资区别不大

    (2)非标资产和标准化资产之间的估值差:当市场收缩(退潮)的时候,二级市场估值水平下降,一级市场头部项目估值水平上升,估值差过小难以cover资金成本的时候,这个生意就不好做了

    (3)金融强监管:从2018年开始的过会率让PE非常难受

    我们常说看问题要看到本质,然后形成自己的benchmark,这样遇到不同的企业和项目就有判断的依据。当然投资没有这么简单,以上只是第一步。希望有帮助。

    展开全文
  • 话说,为什么我又要跑去搞fpga玩了,不是应该招个有经验的开发人员么?大概练度不够吧…… Xilinx这个板子阿,真鸡儿贵,我这还没啥基础,慢慢试吧: 看了乱七八糟各种文档先不提,我还是决定先控制LED玩玩,...

    话说,为什么我又要跑去搞fpga玩了,不是应该招个有经验的开发人员么?大概是练度不够吧……

    Xilinx这个板子阿,真鸡儿贵,我这还没啥基础,慢慢试吧:

    看了乱七八糟各种文档先不提,我还是决定先控制LED玩玩,应该挺简单吧

    首先写了段verilog:

    module test(clk_p,
    rst,
    data);
    input clk_p;
    input[4:0] rst;
    output reg[7:0] data;
    
    always @(posedge clk_p) begin
      ……
    end
    endmodule

    然后指定引脚,把clk_p指定成user_clock_p,执行synthesis和implemention都没啥问题,但是一生成bitstream就报错,说是IOstandard不能为default。。。但是讲道理啊,我查了文档user_clock_p是LVDS,选项里没这个啊。

    好吧,直接手动改一下DXC约束文件:

    set_property PACKAGE_PIN AK34 [get_ports clk_p]
    set_property IOSTANDARD LVDS [get_ports clk_p]

    这回试试,结果又说什么clk_p是is Single-Ended but has an IOStandard of LVDS which can only support Differential,这怎么可楞,别人都这么写的啊?查了半天发现现在时钟信号要加缓冲器,不然会被vivado自动优化成单端信号进行处理报错,MDZZ

    最后变成这样终于对了:

    module test(clk_p,
    clk_n,
    rst,
    data);
    input clk_p;
    input clk_n;
    input[4:0] rst;
    output reg[7:0] data;
    
    IBUFDS #(.IOSTANDARD("LVDS")) IBUFDS_inst (.O (cl1),
    .I (clk_p), 
    .IB (clk_n));
    
    always @(posedge cl1) begin
      if (rst[0]) begin
        data = 0;
      end
      if (rst[1]) begin
        data = data << 1;
      end
      if (rst[2]) begin
        data = data - 1;
      end
      if (rst[3]) begin
        data = data >> 1;
      end
      if (rst[4]) begin
        data = data + 1;
      end
    end
    endmodule

    不过这个写法有毒,我手点一下按钮过了好多个时钟上升沿,导致和我想的不太一样,不过不管怎样至少是能用了。。先这样吧

     

    转载于:https://www.cnblogs.com/gaoze/p/6483308.html

    展开全文
  • 最近,要做一个东西,是android客户端要与VC写的服务器进行数据连接与交换,无奈,先从java测试吧,android还没弄,其实只要是遵循的同一个协议就可以通信了,不管你的客户端和服务器是什么编程语言,什么操作系统...

    最近,要做一个东西,是android客户端要与VC写的服务器端进行数据连接与交换,无奈,先从java测试吧,android还没弄,其实只要是遵循的同一个协议就可以通信了,不管你的客户端和服务器是什么编程语言,什么操作系统,都不重要,重要的是遵循TCP或UDP协议等,先不废话了,上代码再说,

    服务器端VC代码如下:

    void main()

    {

    WORD wVersionRequested;

    WSADATA wsaData;

    int err;

    wVersionRequested = MAKEWORD( 1, 1 );

    err = WSAStartup( wVersionRequested, &wsaData );

    if ( err != 0 )

    {

    return;

    }

    if ( LOBYTE( wsaData.wVersion ) != 1 ||

    HIBYTE( wsaData.wVersion ) != 1 )

    {

    WSACleanup( );

    return;

    }

    //一下代码获得IP和计算机名

    char name[255];

    char* ip = NULL;

    PHOSTENT hostInfo;

    if (gethostname(name,sizeof(name)) == 0)

    {

    if (hostInfo = gethostbyname(name))

    {

    ip = inet_ntoa(*(in_addr*)*(hostInfo->h_addr_list));

    }

    }

    printf("%s--%s\n",ip,name);

    //获取socketServer对象

    SOCKET sockSrv = socket(AF_INET,SOCK_STREAM,0);

    SOCKADDR_IN addrSrv;

    addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY); //设置监听地址

    addrSrv.sin_family = AF_INET; //监听类型

    addrSrv.sin_port = htons(6000); //监听端口

    bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

    listen(sockSrv,10);

    SOCKADDR_IN addrClient;

    int len=sizeof(SOCKADDR);

    while(true)

    {

    //开始接受数据,等待

    SOCKET sockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len);

    char recvBuf[266] = {0};

    recv(sockConn,recvBuf,266,0);

    std::cout << recvBuf << std::endl;

    }

    //关闭套接字

    closesocket(sockSrv);

    WSACleanup();

    }

    当然还要加入WS2_32.LIB文件。

    客户端代码如下:

    import java.io.IOException;

    import java.io.PrintWriter;

    import java.io.UnsupportedEncodingException;

    import java.net.Socket;

    import java.net.SocketException;

    import java.net.UnknownHostException;

    public class ClientSocket extends Socket{

    Socket socket;

    /**

    * 构造

    */

    public ClientSocket(String ip , int port){

    try {

    socket = new Socket(ip, port);

    System.out.println("连接建立成功: site:"+ ip +" port:"+port);

    } catch (UnknownHostException e) {

    System.out.println("失败");

    e.printStackTrace();

    } catch (IOException e) {

    System.out.println("失败");

    e.printStackTrace();

    }

    }

    public String send(String msg)

    {

    try {

    System.out.println("发送的内容:" + msg);

    PrintWriter out = new PrintWriter(socket.getOutputStream());

    out.print(msg);

    out.flush();

    return null;

    } catch (UnsupportedEncodingException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    return null;

    }

    public void close()

    {

    try {

    socket.close();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    public static void main(String[] args) throws SocketException {

    ClientSocket socket = new ClientSocket("127.0.0.1", 6000);

    socket.send("zhouxuguang");

    socket.close();

    System.out.println(socket.getReceiveBufferSize());

    System.out.println(socket.getSendBufferSize());

    }

    }

    测试结果如下:

    客户端:

    连接建立成功: site:127.0.0.1 port:6000

    发送的内容:zhouxuguang

    8192

    8192

    服务器端:

    938f0e548759993fb39c28458398d40d.png

    当然,这只是简单的字符串数据传输,复杂的消息结构体的传输还有待进一步研究。下一步要研究android上怎么与VC通信。

    原文链接:

    http://blog.csdn.net/zhouxuguang236/article/details/8010125

    展开全文
  • 做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。...为什么做成这个样子呢?还是懒呗。因为 Spring Security 中默认的登录数据格式就...

    做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。

    登录请求是一个 POST 请求,但是数据传输格式是 key/value 的形式。整个项目里就只有这一个 POST 请求是这样,其他 POST 请求都是 JSON 格式的数据。

    为什么做成这个样子呢?还是懒呗。

    因为 Spring Security 中默认的登录数据格式就是 key/value 的形式,一直以来懒得改。最近刚好在录 Spring Security,就抽空把这里调整了下,这样前后端就能统一起来了。

    好了,我们一起来看下怎么实现。

    1.服务端接口调整

    首先大家知道,用户登录的用户名/密码是在 UsernamePasswordAuthenticationFilter 类中处理的,具体的处理代码如下:

    public Authentication attemptAuthentication(HttpServletRequest request,HttpServletResponse response) throws AuthenticationException {String username = obtainUsername(request);String password = obtainPassword(request);    //省略}protected String obtainPassword(HttpServletRequest request) {return request.getParameter(passwordParameter);}protected String obtainUsername(HttpServletRequest request) {return request.getParameter(usernameParameter);}

    从这段代码中,我们就可以看出来为什么 Spring Security 默认是通过 key/value 的形式来传递登录参数,因为它处理的方式就是 request.getParameter。

    所以我们要定义成 JSON 的,思路很简单,就是自定义来定义一个过滤器代替 UsernamePasswordAuthenticationFilter ,然后在获取参数的时候,换一种方式就行了。

    「这里有一个额外的点需要注意,就是我们的微人事现在还有验证码的功能,所以如果自定义过滤器,要连同验证码一起处理掉。」

    2.自定义过滤器

    接下来我们来自定义一个过滤器代替 UsernamePasswordAuthenticationFilter ,如下:

    public class LoginFilter extends UsernamePasswordAuthenticationFilter {    @Override    public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException {        if (!request.getMethod().equals("POST")) {            throw new AuthenticationServiceException(                    "Authentication method not supported: " + request.getMethod());        }        String verify_code = (String) request.getSession().getAttribute("verify_code");        if (request.getContentType().equals(MediaType.APPLICATION_JSON_VALUE) || request.getContentType().equals(MediaType.APPLICATION_JSON_UTF8_VALUE)) {            Map loginData = new HashMap<>();            try {                loginData = new ObjectMapper().readValue(request.getInputStream(), Map.class);            } catch (IOException e) {            }finally {                String code = loginData.get("code");                checkCode(response, code, verify_code);            }            String username = loginData.get(getUsernameParameter());            String password = loginData.get(getPasswordParameter());            if (username == null) {                username = "";            }            if (password == null) {                password = "";            }            username = username.trim();            UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(                    username, password);            setDetails(request, authRequest);            return this.getAuthenticationManager().authenticate(authRequest);        } else {            checkCode(response, request.getParameter("code"), verify_code);            return super.attemptAuthentication(request, response);        }    }    public void checkCode(HttpServletResponse resp, String code, String verify_code) {        if (code == null || verify_code == null || "".equals(code) || !verify_code.toLowerCase().equals(code.toLowerCase())) {            //验证码不正确            throw new AuthenticationServiceException("验证码不正确");        }    }}

    这段逻辑我们基本上是模仿官方提供的 UsernamePasswordAuthenticationFilter 来写的,我来给大家稍微解释下:

    1. 首先登录请求肯定是 POST,如果不是 POST ,直接抛出异常,后面的也不处理了。
    2. 因为要在这里处理验证码,所以第二步从 session 中把已经下发过的验证码的值拿出来。
    3. 接下来通过 contentType 来判断当前请求是否通过 JSON 来传递参数,如果是通过 JSON 传递参数,则按照 JSON 的方式解析,如果不是,则调用 super.attemptAuthentication 方法,进入父类的处理逻辑中,也就是说,我们自定义的这个类,既支持 JSON 形式传递参数,也支持 key/value 形式传递参数。
    4. 如果是 JSON 形式的数据,我们就通过读取 request 中的 I/O 流,将 JSON 映射到一个 Map 上。
    5. 从 Map 中取出 code,先去判断验证码是否正确,如果验证码有错,则直接抛出异常。验证码的判断逻辑,大家可以参考:松哥手把手教你给微人事添加登录验证码。
    6. 接下来从 Map 中取出 username 和 password,构造 UsernamePasswordAuthenticationToken 对象并作校验。

    过滤器定义完成后,接下来用我们自定义的过滤器代替默认的 UsernamePasswordAuthenticationFilter,首先我们需要提供一个 LoginFilter 的实例:

    @BeanLoginFilter loginFilter() throws Exception {    LoginFilter loginFilter = new LoginFilter();    loginFilter.setAuthenticationSuccessHandler(new AuthenticationSuccessHandler() {        @Override        public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {            response.setContentType("application/json;charset=utf-8");            PrintWriter out = response.getWriter();            Hr hr = (Hr) authentication.getPrincipal();            hr.setPassword(null);            RespBean ok = RespBean.ok("登录成功!", hr);            String s = new ObjectMapper().writeValueAsString(ok);            out.write(s);            out.flush();            out.close();        }    });    loginFilter.setAuthenticationFailureHandler(new AuthenticationFailureHandler() {        @Override        public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {            response.setContentType("application/json;charset=utf-8");            PrintWriter out = response.getWriter();            RespBean respBean = RespBean.error(exception.getMessage());            if (exception instanceof LockedException) {                respBean.setMsg("账户被锁定,请联系管理员!");            } else if (exception instanceof CredentialsExpiredException) {                respBean.setMsg("密码过期,请联系管理员!");            } else if (exception instanceof AccountExpiredException) {                respBean.setMsg("账户过期,请联系管理员!");            } else if (exception instanceof DisabledException) {                respBean.setMsg("账户被禁用,请联系管理员!");            } else if (exception instanceof BadCredentialsException) {                respBean.setMsg("用户名或者密码输入错误,请重新输入!");            }            out.write(new ObjectMapper().writeValueAsString(respBean));            out.flush();            out.close();        }    });    loginFilter.setAuthenticationManager(authenticationManagerBean());    loginFilter.setFilterProcessesUrl("/doLogin");    return loginFilter;}

    当我们代替了 UsernamePasswordAuthenticationFilter 之后,原本在 SecurityConfig#configure 方法中关于 form 表单的配置就会失效,那些失效的属性,都可以在配置 LoginFilter 实例的时候配置。

    另外记得配置一个 AuthenticationManager,根据 WebSecurityConfigurerAdapter 中提供的配置即可。

    FilterProcessUrl 则可以根据实际情况配置,如果不配置,默认的就是 /login。

    最后,我们用自定义的 LoginFilter 实例代替 UsernamePasswordAuthenticationFilter,如下:

    @Overrideprotected void configure(HttpSecurity http) throws Exception {    http.authorizeRequests()        ...        //省略    http.addFilterAt(loginFilter(), UsernamePasswordAuthenticationFilter.class);}

    调用 addFilterAt 方法完成替换操作。

    篇幅原因,我这里只展示了部分代码,完整代码小伙伴们可以在 GitHub 上看到:https://github.com/lenve/vhr。

    配置完成后,重启后端,先用 POSTMAN 测试登录接口,如下:

    c8e711ebee79d42cf30e6989e5d351df.png

    3.前端修改

    原本我们的前端登录代码是这样的:

    this.$refs.loginForm.validate((valid) => {    if (valid) {        this.loading = true;        this.postKeyValueRequest('/doLogin', this.loginForm).then(resp => {            this.loading = false;            //省略        })    } else {        return false;    }});

    首先我们去校验数据,在校验成功之后,通过 postKeyValueRequest 方法来发送登录请求,这个方法是我自己封装的通过 key/value 形式传递参数的 POST 请求,如下:

    export const postKeyValueRequest = (url, params) => {    return axios({        method: 'post',        url: `${base}${url}`,        data: params,        transformRequest: [function (data) {            let ret = '';            for (let i in data) {                ret += encodeURIComponent(i) + '=' + encodeURIComponent(data[i]) + '&'            }            return ret;        }],        headers: {            'Content-Type': 'application/x-www-form-urlencoded'        }    });}export const postRequest = (url, params) => {    return axios({        method: 'post',        url: `${base}${url}`,        data: params    })}

    postKeyValueRequest 是我封装的通过 key/value 形式传递参数,postRequest 则是通过 JSON 形式传递参数。

    所以,前端我们只需要对登录请求稍作调整,如下:

    this.$refs.loginForm.validate((valid) => {    if (valid) {        this.loading = true;        this.postRequest('/doLogin', this.loginForm).then(resp => {            this.loading = false;            //省略        })    } else {        return false;    }});

    配置完成后,再去登录,浏览器按 F12 ,就可以看到登录请求的参数形式了:

    f5edcc1e2b7d4d54436c1a19d554f5c1.png

    好啦,这就是松哥和大家介绍的 SpringSecurity+JSON+验证码登录,「如果觉得还不错,记得点一下右下角在看哦。」

    完整代码小伙伴们可以在 GitHub 上下载:https://github.com/lenve/vhr

    展开全文
  • 目前,直播已经与电商领域强强联合,吸引众多商家以及企业纷纷投入其中,享受直播带货带来的可观红利。商家以及企业作为软件开发行业的“门外汉”...因为市场上,手机型号普遍分为安卓和IOS两种,利用带货直播源...
  • 问:史密斯机你可以蹲多重?也许你能史密斯机深蹲100KG,但自由深蹲可能蹲不了40KG。长期练史密斯机,史密斯机的重量都会高于自由重量。...史密斯机的杠杆两被固定的轨道限制,因为有“保护扣”的原因,所以就算...
  • java与VC通信-socket

    千次阅读 2012-09-23 17:03:22
    最近,要做一个东西,是android客户端要与VC写的服务器进行数据连接与交换,无奈,先从java测试吧,android还没弄,其实只要是遵循的同一个协议就可以通信了,不管你的客户端和服务器是什么编程语言,什么操作系统...
  • VC6.0 多线程(三)

    2018-03-13 00:22:00
    什么要多线程(原因很简单哈,多个客服进入,需要协同连接客服沟通)(最好使用udp服务器设计) 注意vc6.0 的CreateThread开启线程,会造成内存泄漏,VS高级版本可能有效解决 下面源代码网址,大家可以...
  • VC USB通信问题

    千次阅读 2011-09-20 10:36:12
    行为:当下位机用USB线缆连接PC的上位机时,开始的设置是立即发送数据给上位机。在这种情况下PC系统右下角出现“Microsoft ...Mouse”,... 原因:大概是USB刚连上PC时,他们需要配置并交流信息,PC需要知道是什么
  • 第一次写的VC服务进程

    千次阅读 2010-09-02 10:47:00
    电子教室”教学广播系统却不适用,我们新的电脑室就是用这个的,这个有点好处可以限制学生的可运行程序和可上网网址。用服务进程打开的学生进程,其 用户名为system,不是登录用户,天寓不知什么回事,进程...
  • 今天在微博上看到了新浪UC出来了可以下载,而自己也喜欢玩微博,于是就下了。安装完成后,找开一看,一个登录界面,这个界面使自己有莫名其妙的想法,想起自己是不是对这个类似的界面做过什么.....终于知道了,...
  • 而在今天,它又扮演着什么样重要的角色呢?请往下看:后端服务器,移动互联网后端,经典Windows界面开发,移动互联网界面开发,跨平台界面开发,图形分析,系统架构,应用设计,还有现在最为流行的分布架构等一些...
  • VC中C++的输入输出I/O 流函数

    千次阅读 2012-12-23 03:53:12
    (1)什么是“流”?  C++中的“流”(stream)一种抽象,它表示数据从源流向目的。  输入流(Input Stream)表示的数据从输入设备(如键盘、磁盘等)流向内存,输出流(Output Stream)表示的数据从内存流向...
  • 服务器代码如下: // easyDoor.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include #pragma comment (lib, "Winmm") #pragma ...
  • 随着B的兴起,和表单打交道的人也越来越多,那么作为设计师,如何设计出来好的表单呢?本文将根据在B产品设计中...标签(标题):是用来告诉用户这个列表项是什么的;输入框:是供用户完成信息录入的,包含了文本...
  • 电子管基础知识视频:已经制作成功的电子管单胆机300B电路图讲解第三集自制胆机试听视频:指导网友制作了一台300B胆机,感觉很成功,大家听听声音怎样什么是电子管三极管阳栅特性曲线,首先看看它的定义是什么:...
  • 上代码 看主函数 int main(int argc, char **...proxy-server.exe可执行文件,你创建工程用的什么名就写什么(Codeblocks,VC那就是文件名) 3000代表端口号,要接收客户端的访问,进而实现代理功能 客户端代...
  • 都分别代表输出的是什么类型的? 2009-02-27 17:24:54| 分类: VC学习 |字号 订阅%d 十进制有符号整数%md,m指定的是输出字段的宽度,如果数据的位数小于m,则左补以空格,若大于m,则 按实际位数输出,如: ...
  • 是什么原因? 谢谢 [b]问题补充:[/b] 服务器也是我们自己做,那些历史数据我们都会保存起来。现在主要是就客户端,那个gui软件挺麻烦的。因为我们公司没有做过gui的软件,所以不知道用什么来做,但同时...
  • 1. MyICQ是什么? --------------- MyICQ是一套公开源代码的即时通讯软件,包括服务器和客户端,可以用于互联网或局域网中。可以运行在Windows或Linux(KDE/Qt)操作系统上,这是Windows版。目前客户端程序的界面...
  • 本文主要来介绍如何用VS2017工具以及C++操作SQLite数据库以及怎么使用加解密数据库操作,这里为什么要选择VS工具而不是VC,因为VC的确方便而且也我之前一直编写C++的工具,但是VC的确有很多不足的地方,比如最重要...
  • 远程控制VNC源码

    2015-08-04 14:51:38
    著名的VNC源码,原来是VC6的工程,我把它改成了VS2010,完整可用,可是用个奇怪的现象:受控无人登录的情况下监控不到,希望有人能弄明白是什么原因顺便告诉我,分就不要了,大家学习一起进步
  • 关于React总结

    2020-01-06 20:45:14
    react用来构建用户界面的JavaScript库,vc很多人认为reactMVC中的v(视图)。 1.2:React 的特点 高效 灵活 Jsx 单项数据流 声明范式编写方式 组件化开发 1.3:React 的优点 它提高了应用的性能 可以...
  • 1.绕Y轴旋转的旋转矩阵 ans: 2.程序的输入结果?...为什么int4字节,short2字节,d变成8字节了呢?!其实,这是VC对变量存储的一个特殊处理。为了提高CPU的存储速度,VC对一些变量的起始地址做了“对齐”处
  • 很多人都听过WAMP这个词吧,首先来看WAMP是什么意思? Windows下的Apache+MySQL+PHP,称为WAMP。 属于WAMP环境的集成软件有很多,比如wampserver、apmserv、xampp、PHPWAMP等等,这些WAMP环境各有特点。 今天本文所...
  • 本源代码主要演示如何使用VC++的SOCKET API进行网络通讯的实例,代码包括客户端与服务器,分别运行两程序,互相监听,互相接发消息,原理简单,没用到什么高深技术,都很基础的,因此可能对VC的入门者比较有用...
  • 新的开始

    2007-10-22 22:06:00
    今天开始工作了,是真正的开始进入软件行业的开始,在CSDN上开个简单的技术博客,记录自己的学习经历,看看走过之后所留下的是什么。 记录一下今天的所得: 在VC环境下用C编写Socket程序总体来看还是比较简单的,...
  • 说白了就是一款写代码的软件,主要用途写电脑或者移动设备的软件的。下面开始介绍入坑过程 怎么会入坑 主要用来实现什么功能 选择QT版本 安装完成 怎么会入坑 我主要搞嵌入式的电子工程师,对于桌面软件...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

vc端是什么