日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pcre2交叉编译

發(fā)布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pcre2交叉编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pcre2交叉編譯

1.下載pcre2源碼包

? http://www.pcre.org/

2.編譯pcre

tar -zxvf pcre2-10.39.tar.gz //解壓 cd pcre2-10.39/ //進入目錄./configure CROSS_COMPILE=arm-linux CC=arm-linux-gcc --host=arm-linux --prefix=/home/pnc120432be01/Desktop/liyuworkspace/arm/pcre //配置 make make install

注意:

  • –prefix: 是pcre2交叉編譯后生成文件的路徑。

    ?

  • 將/arm/pcre目錄中的文件拷貝到arm機中,將/arm/pcre/lib目下的.so文件拷貝到開發(fā)板根目錄下的lib子目錄下,而后編寫測試程序以下:
  • #define PCRE2_CODE_UNIT_WIDTH 8#include <stdio.h> #include <string.h> #include "pcre2.h"/************************************************************************** * Here is the program. The API includes the concept of "contexts" for * * setting up unusual interface requirements for compiling and matching, * * such as custom memory managers and non-standard newline definitions. * * This program does not do any of this, so it makes no use of contexts, * * always passing NULL where a context could be given. * **************************************************************************/int main(int argc, char **argv) { pcre2_code *re; PCRE2_SPTR pattern; /* PCRE2_SPTR is a pointer to unsigned code units of */ PCRE2_SPTR subject; /* the appropriate width (in this case, 8 bits). */ PCRE2_SPTR name_table;int crlf_is_newline; int errornumber; int find_all; int i; int rc; int utf8;uint32_t option_bits; uint32_t namecount; uint32_t name_entry_size; uint32_t newline;PCRE2_SIZE erroroffset; PCRE2_SIZE *ovector; PCRE2_SIZE subject_length;pcre2_match_data *match_data;/************************************************************************** * First, sort out the command line. There is only one possible option at * * the moment, "-g" to request repeated matching to find all occurrences, * * like Perl's /g option. We set the variable find_all to a non-zero value * * if the -g option is present. * **************************************************************************/find_all = 0; for (i = 1; i < argc; i++){if (strcmp(argv[i], "-g") == 0) find_all = 1;else if (argv[i][0] == '-'){printf("Unrecognised option %s\n", argv[i]);return 1;}else break;}/* After the options, we require exactly two arguments, which are the pattern, and the subject string. */if (argc - i != 2){printf("Exactly two arguments required: a regex and a subject string\n");return 1;}/* Pattern and subject are char arguments, so they can be straightforwardly cast to PCRE2_SPTR because we are working in 8-bit code units. The subject length is cast to PCRE2_SIZE for completeness, though PCRE2_SIZE is in fact defined to be size_t. */pattern = (PCRE2_SPTR)argv[i]; subject = (PCRE2_SPTR)argv[i+1]; subject_length = (PCRE2_SIZE)strlen((char *)subject);/************************************************************************* * Now we are going to compile the regular expression pattern, and handle * * any errors that are detected. * *************************************************************************/re = pcre2_compile(pattern, /* the pattern */PCRE2_ZERO_TERMINATED, /* indicates pattern is zero-terminated */0, /* default options */&errornumber, /* for error number */&erroroffset, /* for error offset */NULL); /* use default compile context *//* Compilation failed: print the error message and exit. */if (re == NULL){PCRE2_UCHAR buffer[256];pcre2_get_error_message(errornumber, buffer, sizeof(buffer));printf("PCRE2 compilation failed at offset %d: %s\n", (int)erroroffset,buffer);return 1;}/************************************************************************* * If the compilation succeeded, we call PCRE2 again, in order to do a * * pattern match against the subject string. This does just ONE match. If * * further matching is needed, it will be done below. Before running the * * match we must set up a match_data block for holding the result. Using * * pcre2_match_data_create_from_pattern() ensures that the block is * * exactly the right size for the number of capturing parentheses in the * * pattern. If you need to know the actual size of a match_data block as * * a number of bytes, you can find it like this: * * * * PCRE2_SIZE match_data_size = pcre2_get_match_data_size(match_data); * *************************************************************************/match_data = pcre2_match_data_create_from_pattern(re, NULL);/* Now run the match. */rc = pcre2_match(re, /* the compiled pattern */subject, /* the subject string */subject_length, /* the length of the subject */0, /* start at offset 0 in the subject */0, /* default options */match_data, /* block for storing the result */NULL); /* use default match context *//* Matching failed: handle error cases */if (rc < 0){switch(rc){case PCRE2_ERROR_NOMATCH: printf("No match\n"); break;/*Handle other special cases if you like*/default: printf("Matching error %d\n", rc); break;}pcre2_match_data_free(match_data); /* Release memory used for the match */pcre2_code_free(re); /* data and the compiled pattern. */return 1;}/* Match succeeded. Get a pointer to the output vector, where string offsets are stored. */ovector = pcre2_get_ovector_pointer(match_data); printf("Match succeeded at offset %d\n", (int)ovector[0]);/************************************************************************* * We have found the first match within the subject string. If the output * * vector wasn't big enough, say so. Then output any substrings that were * * captured. * *************************************************************************//* The output vector wasn't big enough. This should not happen, because we used pcre2_match_data_create_from_pattern() above. */if (rc == 0)printf("ovector was not big enough for all the captured substrings\n");/* Since release 10.38 PCRE2 has locked out the use of \K in lookaround assertions. However, there is an option to re-enable the old behaviour. If that is set, it is possible to run patterns such as /(?=.\K)/ that use \K in an assertion to set the start of a match later than its end. In this demonstration program, we show how to detect this case, but it shouldn't arise because the option is never set. */if (ovector[0] > ovector[1]){printf("\\K was used in an assertion to set the match start after its end.\n""From end to start the match was: %.*s\n", (int)(ovector[0] - ovector[1]),(char *)(subject + ovector[1]));printf("Run abandoned\n");pcre2_match_data_free(match_data);pcre2_code_free(re);return 1;}/* Show substrings stored in the output vector by number. Obviously, in a real application you might want to do things other than print them. */for (i = 0; i < rc; i++){PCRE2_SPTR substring_start = subject + ovector[2*i];PCRE2_SIZE substring_length = ovector[2*i+1] - ovector[2*i];printf("%2d: %.*s\n", i, (int)substring_length, (char *)substring_start);}/************************************************************************** * That concludes the basic part of this demonstration program. We have * * compiled a pattern, and performed a single match. The code that follows * * shows first how to access named substrings, and then how to code for * * repeated matches on the same subject. * **************************************************************************//* See if there are any named substrings, and if so, show them by name. First we have to extract the count of named parentheses from the pattern. */(void)pcre2_pattern_info(re, /* the compiled pattern */PCRE2_INFO_NAMECOUNT, /* get the number of named substrings */&namecount); /* where to put the answer */if (namecount == 0) printf("No named substrings\n"); else{PCRE2_SPTR tabptr;printf("Named substrings\n");/* Before we can access the substrings, we must extract the table fortranslating names to numbers, and the size of each entry in the table. */(void)pcre2_pattern_info(re, /* the compiled pattern */PCRE2_INFO_NAMETABLE, /* address of the table */&name_table); /* where to put the answer */(void)pcre2_pattern_info(re, /* the compiled pattern */PCRE2_INFO_NAMEENTRYSIZE, /* size of each entry in the table */&name_entry_size); /* where to put the answer *//* Now we can scan the table and, for each entry, print the number, the name,and the substring itself. In the 8-bit library the number is held in twobytes, most significant first. */tabptr = name_table;for (i = 0; i < namecount; i++){int n = (tabptr[0] << 8) | tabptr[1];printf("(%d) %*s: %.*s\n", n, name_entry_size - 3, tabptr + 2,(int)(ovector[2*n+1] - ovector[2*n]), subject + ovector[2*n]);tabptr += name_entry_size;}}/************************************************************************* * If the "-g" option was given on the command line, we want to continue * * to search for additional matches in the subject string, in a similar * * way to the /g option in Perl. This turns out to be trickier than you * * might think because of the possibility of matching an empty string. * * What happens is as follows: * * * * If the previous match was NOT for an empty string, we can just start * * the next match at the end of the previous one. * * * * If the previous match WAS for an empty string, we can't do that, as it * * would lead to an infinite loop. Instead, a call of pcre2_match() is * * made with the PCRE2_NOTEMPTY_ATSTART and PCRE2_ANCHORED flags set. The * * first of these tells PCRE2 that an empty string at the start of the * * subject is not a valid match; other possibilities must be tried. The * * second flag restricts PCRE2 to one match attempt at the initial string * * position. If this match succeeds, an alternative to the empty string * * match has been found, and we can print it and proceed round the loop, * * advancing by the length of whatever was found. If this match does not * * succeed, we still stay in the loop, advancing by just one character. * * In UTF-8 mode, which can be set by (*UTF) in the pattern, this may be * * more than one byte. * * * * However, there is a complication concerned with newlines. When the * * newline convention is such that CRLF is a valid newline, we must * * advance by two characters rather than one. The newline convention can * * be set in the regex by (*CR), etc.; if not, we must find the default. * *************************************************************************/if (!find_all) /* Check for -g */{pcre2_match_data_free(match_data); /* Release the memory that was used */pcre2_code_free(re); /* for the match data and the pattern. */return 0; /* Exit the program. */}/* Before running the loop, check for UTF-8 and whether CRLF is a valid newline sequence. First, find the options with which the regex was compiled and extract the UTF state. */(void)pcre2_pattern_info(re, PCRE2_INFO_ALLOPTIONS, &option_bits); utf8 = (option_bits & PCRE2_UTF) != 0;/* Now find the newline convention and see whether CRLF is a valid newline sequence. */(void)pcre2_pattern_info(re, PCRE2_INFO_NEWLINE, &newline); crlf_is_newline = newline == PCRE2_NEWLINE_ANY ||newline == PCRE2_NEWLINE_CRLF ||newline == PCRE2_NEWLINE_ANYCRLF;/* Loop for second and subsequent matches */for (;;){uint32_t options = 0; /* Normally no options */PCRE2_SIZE start_offset = ovector[1]; /* Start at end of previous match *//* If the previous match was for an empty string, we are finished if we areat the end of the subject. Otherwise, arrange to run another match at thesame point to see if a non-empty match can be found. */if (ovector[0] == ovector[1]){if (ovector[0] == subject_length) break;options = PCRE2_NOTEMPTY_ATSTART | PCRE2_ANCHORED;}/* If the previous match was not an empty string, there is one tricky case toconsider. If a pattern contains \K within a lookbehind assertion at thestart, the end of the matched string can be at the offset where the matchstarted. Without special action, this leads to a loop that keeps on matchingthe same substring. We must detect this case and arrange to move the start onby one character. The pcre2_get_startchar() function returns the startingoffset that was passed to pcre2_match(). */else{PCRE2_SIZE startchar = pcre2_get_startchar(match_data);if (start_offset <= startchar){if (startchar >= subject_length) break; /* Reached end of subject. */start_offset = startchar + 1; /* Advance by one character. */if (utf8) /* If UTF-8, it may be more */{ /* than one code unit. */for (; start_offset < subject_length; start_offset++)if ((subject[start_offset] & 0xc0) != 0x80) break;}}}/* Run the next matching operation */rc = pcre2_match(re, /* the compiled pattern */subject, /* the subject string */subject_length, /* the length of the subject */start_offset, /* starting offset in the subject */options, /* options */match_data, /* block for storing the result */NULL); /* use default match context *//* This time, a result of NOMATCH isn't an error. If the value in "options"is zero, it just means we have found all possible matches, so the loop ends.Otherwise, it means we have failed to find a non-empty-string match at apoint where there was a previous empty-string match. In this case, we do whatPerl does: advance the matching position by one character, and continue. Wedo this by setting the "end of previous match" offset, because that is pickedup at the top of the loop as the point at which to start again.There are two complications: (a) When CRLF is a valid newline sequence, andthe current position is just before it, advance by an extra byte. (b)Otherwise we must ensure that we skip an entire UTF character if we are inUTF mode. */if (rc == PCRE2_ERROR_NOMATCH){if (options == 0) break; /* All matches found */ovector[1] = start_offset + 1; /* Advance one code unit */if (crlf_is_newline && /* If CRLF is a newline & */start_offset < subject_length - 1 && /* we are at CRLF, */subject[start_offset] == '\r' &&subject[start_offset + 1] == '\n')ovector[1] += 1; /* Advance by one more. */else if (utf8) /* Otherwise, ensure we */{ /* advance a whole UTF-8 */while (ovector[1] < subject_length) /* character. */{if ((subject[ovector[1]] & 0xc0) != 0x80) break;ovector[1] += 1;}}continue; /* Go round the loop again */}/* Other matching errors are not recoverable. */if (rc < 0){printf("Matching error %d\n", rc);pcre2_match_data_free(match_data);pcre2_code_free(re);return 1;}/* Match succeeded */printf("\nMatch succeeded again at offset %d\n", (int)ovector[0]);/* The match succeeded, but the output vector wasn't big enough. Thisshould not happen. */if (rc == 0)printf("ovector was not big enough for all the captured substrings\n");/* We must guard against patterns such as /(?=.\K)/ that use \K in anassertion to set the start of a match later than its end. In thisdemonstration program, we just detect this case and give up. */if (ovector[0] > ovector[1]){printf("\\K was used in an assertion to set the match start after its end.\n""From end to start the match was: %.*s\n", (int)(ovector[0] - ovector[1]),(char *)(subject + ovector[1]));printf("Run abandoned\n");pcre2_match_data_free(match_data);pcre2_code_free(re);return 1;}/* As before, show substrings stored in the output vector by number, and thenalso any named substrings. */for (i = 0; i < rc; i++){PCRE2_SPTR substring_start = subject + ovector[2*i];size_t substring_length = ovector[2*i+1] - ovector[2*i];printf("%2d: %.*s\n", i, (int)substring_length, (char *)substring_start);}if (namecount == 0) printf("No named substrings\n"); else{PCRE2_SPTR tabptr = name_table;printf("Named substrings\n");for (i = 0; i < namecount; i++){int n = (tabptr[0] << 8) | tabptr[1];printf("(%d) %*s: %.*s\n", n, name_entry_size - 3, tabptr + 2,(int)(ovector[2*n+1] - ovector[2*n]), subject + ovector[2*n]);tabptr += name_entry_size;}}} /* End of loop to find second and subsequent matches */printf("\n"); pcre2_match_data_free(match_data); pcre2_code_free(re); return 0; }
  • 交叉編譯測試程序:
  • arm-linux-gcc pcretest.c -o pcretest -I /home/pnc120432be01/Desktop/liyuworkspace/arm/pcre/include -L /home/pnc120432be01/Desktop/liyuworkspace/arm/pcre/lib -lpcre2-8
  • 將編譯生成的test文件拷貝到開發(fā)板,而后添加可執(zhí)行權限:chmod +x pcretest

  • 測試:

    ./pcretest 'cat|dog' 'the cat sat on the mat' ./pcretest -g 'cat|dog' 'the dog sat on the cat'

    ?

  • 總結

    以上是生活随笔為你收集整理的pcre2交叉编译的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    五月婷婷av | 婷婷丁香色综合狠狠色 | 久久99国产综合精品免费 | 国产视频精品免费播放 | 综合在线亚洲 | 日韩高清成人在线 | 色久综合 | 国产精品久久久久久一区二区 | 国产成人精品一区二区在线观看 | 欧美精品一区二区三区一线天视频 | 97伊人网| 国产精品大全 | 黄色片亚洲 | 国产亚洲成人网 | 久久草在线精品 | 911精品美国片911久久久 | 九九国产精品视频 | 中文字幕有码在线观看 | 亚洲成aⅴ人在线观看 | 中文在线中文资源 | 日本特黄一级片 | 右手影院亚洲欧美 | 国产精品免费久久久久久久久久中文 | 久久久久久久久久久成人 | 国产最新在线观看 | 国产麻豆剧果冻传媒视频播放量 | 免费av看片 | 色干干 | 成人一区在线观看 | 特级西西444www大精品视频免费看 | 一本—道久久a久久精品蜜桃 | 91精品国产99久久久久久红楼 | 福利视频一区二区 | 亚洲成人xxx | 中文字幕国语官网在线视频 | 国产伦精品一区二区三区免费 | 欧美色图30p | 国产精品免费久久久久影院仙踪林 | 国产尤物一区二区三区 | 在线午夜电影神马影院 | 麻豆一精品传二传媒短视频 | 在线免费观看国产 | 久久精品视频免费 | 中文字幕一二 | 国产91av视频在线观看 | 国产正在播放 | 天天操天天操 | 久久理论电影 | 久久精品国产美女 | 精品久久久久久亚洲综合网站 | 99中文在线 | 免费又黄又爽视频 | 人人干在线| 日韩欧美一区二区三区免费观看 | 中文字幕乱码日本亚洲一区二区 | 人人爽人人爽人人爽 | 久久久18| 成人性生交视频 | 99久久精品免费看国产 | 青青草国产免费 | 99精品久久精品一区二区 | 欧美激情视频一区 | 蜜桃视频日本 | 操操综合 | 国产成人久久久77777 | 久久激情小说 | 国产免费黄色 | 精品一区电影 | 婷婷丁香七月 | 久草在线视频在线观看 | 欧美影院久久 | 日韩高清精品免费观看 | 亚洲国产午夜视频 | 日韩在线色视频 | 欧美性生交大片免网 | 99人成在线观看视频 | 黄视频网站大全 | 国产精品亚洲人在线观看 | 日韩免费视频线观看 | 欧美成天堂网地址 | 久久不卡国产精品一区二区 | 男女拍拍免费视频 | 激情欧美国产 | 国产特级毛片aaaaaa高清 | 黄色毛片在线看 | 国产午夜精品久久久久久久久久 | 一区二区三区四区精品视频 | av午夜电影 | 久久最新视频 | 美女视频免费一区二区 | 在线亚洲成人 | 亚洲精品美女免费 | 手机在线看a | 亚洲电影一区二区 | 日本巨乳在线 | 亚洲精品乱码久久久久 | 在线观看黄网 | 成人国产精品电影 | 国产中文字幕三区 | 视频国产精品 | 亚洲午夜精品一区 | 欧美夫妻生活视频 | 成人黄色一级视频 | 97超碰国产精品 | 亚洲乱亚洲乱亚洲 | 成人黄色大片在线免费观看 | 国产在线中文字幕 | 久久久久久久久久久免费视频 | 免费看三级黄色片 | 最新国产精品久久精品 | 亚洲 欧美 变态 国产 另类 | a久久免费视频 | 日韩城人在线 | 国内精品久久久久影院优 | 黄网站大全 | 中日韩在线视频 | 美女黄濒 | 91欧美国产| 国产一区网 | 成人在线视频在线观看 | 久久最新视频 | 一色屋精品视频在线观看 | 五月婷婷,六月丁香 | 欧美日韩精品在线观看 | 日韩一区正在播放 | 国产午夜精品一区二区三区 | 激情网色| 日本精品一区二区在线观看 | 九九激情视频 | 91精品国产亚洲 | 欧美成人在线网站 | 99午夜| 国产一在线精品一区在线观看 | 99久精品视频 | 天天摸天天舔天天操 | 成人在线视频你懂的 | 天天综合色天天综合 | 成人一区二区在线 | 男女啪啪视屏 | a视频在线看 | 97在线观看免费高清 | av黄在线播放 | 黄色日批网站 | 97福利在线观看 | 黄色在线观看免费网站 | 国产一级特黄毛片在线毛片 | 欧美大码xxxx | 成人中文字幕+乱码+中文字幕 | 久久成人国产精品一区二区 | 狠狠色综合欧美激情 | 亚洲在线高清 | www色网站| 午夜av电影院 | 九九色综合| 国产成人精品一区二区在线 | 欧美另类交人妖 | 国产一线二线三线性视频 | 欧美亚洲国产一卡 | 中文字幕日韩免费视频 | 色视频在线看 | 午夜精品久久久久 | 国产精品一区二 | 国产a国产a国产a | 搡bbbb搡bbb视频 | 中文字幕亚洲字幕 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产在线自| 又紧又大又爽精品一区二区 | 2020天天干天天操 | 97香蕉视频 | 日韩免费一级电影 | 色wwww| 狠狠干婷婷色 | 中文字幕一区二区三区久久 | 99精品国产兔费观看久久99 | 狠狠操狠狠干天天操 | aa一级片 | 日韩美av在线 | 草莓视频在线观看免费观看 | 午夜国产福利视频 | www.黄色片网站 | 91九色在线观看 | 中文字幕视频网站 | 日本三级大片 | 丁香六月网 | 狠狠干五月天 | 精品国产免费看 | 欧美91成人网 | 国产又粗又猛又黄又爽 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国精产品999国精产品视频 | 久久久久久久久久久久国产精品 | 99在线观看视频网站 | 亚洲精品综合久久 | 中国老女人日b | 园产精品久久久久久久7电影 | 亚洲1区在线 | 中文字幕精品在线 | 91精品在线看 | 国产精品毛片 | 精品一区中文字幕 | 国产日韩欧美视频 | 在线视频欧美精品 | 日本精品视频一区 | 日韩毛片在线播放 | 日韩在线观看 | 最新日韩中文字幕 | 国产一区二区三区免费视频 | 自拍超碰在线 | 国产99色 | 91在线国内视频 | 日韩精品一区二区免费 | 99久久精品国产系列 | 久操视频在线观看 | 极品美女被弄高潮视频网站 | 国产精品淫 | 99精品视频在线播放观看 | 亚洲高清免费在线 | 久久免费看 | 国产一级片视频 | 精品91久久久久 | 日本精品久久久久影院 | 成人免费视频网站 | 毛片的网址| 青草草在线 | 狠狠的日日 | 麻豆传媒视频观看 | 99视频在线免费看 | 国产精品粉嫩 | 国产中文字幕在线播放 | 亚洲日韩精品欧美一区二区 | 99热国内精品 | 欧美日韩国产二区三区 | 又黄又爽的免费高潮视频 | 日韩高清精品一区二区 | 在线观看视频中文字幕 | 欧美精品一二 | 91久久丝袜国产露脸动漫 | 亚洲专区欧美 | 天天天天天天天天操 | 国产97色| 亚洲成人黄色av | av资源免费在线观看 | 五月婷婷在线综合 | 色香蕉视频 | 不卡视频一区二区三区 | 青青河边草免费观看完整版高清 | 中文字幕成人在线观看 | 欧美日韩一区三区 | www.亚洲激情.com | 午夜精品久久久久久久99婷婷 | 国产女人18毛片水真多18精品 | 日韩视频免费观看高清 | 开心婷婷色 | 久草在线最新 | 国产黄色观看 | 免费午夜在线视频 | 中文字幕在线资源 | 丁香午夜婷婷 | 99精品视频播放 | 中文字幕在线看片 | 人人爽人人爽人人爽学生一级 | 日一日操一操 | 96亚洲精品久久久蜜桃 | 夜夜看av| 黄色成人av | 国产一区二区三区网站 | 97国产情侣爱久久免费观看 | 91在线蜜桃臀 | 久久综合免费视频 | 国产精品福利小视频 | 激情五月五月婷婷 | 国产午夜剧场 | h视频在线看 | 特级大胆西西4444www | 亚洲做受高潮欧美裸体 | 免费看片成年人 | 亚洲经典中文字幕 | 久久久久久免费网 | 久久免费大片 | 操久久网| 五月婷婷,六月丁香 | 国产欧美精品一区二区三区四区 | 视频在线观看日韩 | 91视频最新网址 | 免费日韩三级 | 视频在线一区 | 九九日九九操 | 992tv在线观看网站 | 精品国产成人av | 夜夜干天天操 | 亚洲h色精品 | 9草在线 | 国产成人区 | 可以免费观看的av片 | 91精品免费 | 色九九视频| 91福利影院在线观看 | 天天综合视频在线观看 | 热久久免费视频精品 | 天堂av色婷婷一区二区三区 | 精品国产一区二区三区四区在线观看 | 中文字幕国产精品一区二区 | 激情综合中文娱乐网 | 欧美亚洲国产精品久久高清浪潮 | 久操视频在线观看 | 久久综合狠狠综合 | 色综合天天在线 | 婷婷综合五月天 | 国产精品久久综合 | 欧美精品一区二区免费 | 天天鲁天天干天天射 | 久久天天综合网 | 国产乱码精品一区二区三区介绍 | 亚洲电影影音先锋 | 日批视频国产 | 狠狠亚洲 | 免费在线色 | 91麻豆精品国产91久久久久 | 91成年人视频 | 91禁在线观看 | 97视频久久久 | 在线播放一区二区三区 | 免费久久网站 | 国产午夜在线观看 | 狠狠操狠狠干天天操 | 狠狠干干 | 美女天天操 | 久久国产精品99久久久久 | 一区 二区电影免费在线观看 | 成人午夜在线观看 | 99视频在线观看免费 | 精品成人免费 | 日本色小说视频 | 欧美一区二区三区四区夜夜大片 | 麻豆精品视频在线 | 亚洲国产成人精品在线观看 | 最新亚洲视频 | 最新色站 | 欧美日韩精品在线免费观看 | 999国内精品永久免费视频 | 欧美91精品国产自产 | 99精品欧美一区二区三区 | 激情开心| 99精品黄色片免费大全 | 99视频免费播放 | 久久这里只有精品首页 | 高清av中文字幕 | 在线观看黄色的网站 | 国产成人精品久 | 精品在线不卡 | 日韩 在线a | 丁香花五月 | 在线天堂中文www视软件 | 国内精品久久久久久中文字幕 | 国产精品网站一区二区三区 | 国产伦理精品一区二区 | 国产一级片播放 | 欧美性猛片 | 国产精品精品国产色婷婷 | 免费日韩一区 | 成人欧美一区二区三区黑人麻豆 | 国内精品久久久久国产 | 欧美一区二区三区免费看 | 视频在线亚洲 | 91精品国产乱码久久桃 | av天天干| 9在线观看免费 | 久久精品99国产 | 国产网站色 | 日韩欧美一区二区三区在线观看 | 日韩性久久 | 欧美日韩中 | 热久久这里只有精品 | 在线亚洲人成电影网站色www | 91视频免费 | 久草视频在 | 久久久久国产一区二区三区四区 | 91麻豆免费视频 | 毛片网在线播放 | 精品国产一区二区三区男人吃奶 | 最近av在线 | 91国内在线 | 夜夜骑首页 | 中文字幕国产精品 | 黄在线免费看 | 97超碰伊人 | 天天色天天爱天天射综合 | 欧美精品久久久久久久久久丰满 | 91成年人网站 | 国产小视频在线观看免费 | 人人澡人人爽欧一区 | 17婷婷久久www | 视频1区2区| 国际精品久久久久 | 欧美色噜噜噜 | 久久久综合九色合综国产精品 | 人人插人人爱 | 日韩一区二区三免费高清在线观看 | 天堂网av在线 | 午夜精品成人一区二区三区 | 狠狠干夜夜爱 | 日韩专区 在线 | 欧美一级免费片 | 视频高清| 色婷婷国产精品 | 国产精品999久久久 久产久精国产品 | 99精品视频网站 | 就要干b| a级片韩国 | 国产黄视频在线观看 | 欧美日韩久久不卡 | 国产精品免费观看久久 | 日韩精品视频免费专区在线播放 | 亚洲国产成人高清精品 | 九九热re| 在线影视 一区 二区 三区 | wwwwwww黄| 五月婷香蕉久色在线看 | 午夜精品久久久久久久久久久久久久 | 久草免费在线视频 | 国内视频在线观看 | 色婷婷精品大在线视频 | 日本最新中文字幕 | 免费亚洲婷婷 | 91最新网址| 丁香资源影视免费观看 | 草久电影 | 91成人精品观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 粉嫩av一区二区三区四区五区 | 日本精品久久久久久 | www日日| 99久久婷婷国产一区二区三区 | 免费久久99精品国产 | 蜜臀精品久久久久久蜜臀 | 成人午夜电影在线播放 | 欧美日韩久久不卡 | 久久艹国产视频 | 一区二区三区四区不卡 | 日韩电影在线观看中文字幕 | 国产在线观看国语版免费 | 亚洲午夜精品福利 | 一区二区三区在线免费观看 | 久久精品精品电影网 | 天天操天天操天天操 | 久久久黄色免费网站 | 亚洲精品理论 | 亚洲一区av | 最近更新的中文字幕 | 日本护士撒尿xxxx18 | 成人黄色在线 | 亚洲精品在线视频观看 | 国产特级毛片aaaaaa | 最新日韩视频在线观看 | 成人a免费看| 成人av高清| 激情欧美日韩一区二区 | 色噜噜日韩精品一区二区三区视频 | 久久久久久久久久久综合 | 日本性高潮视频 | 狠狠躁夜夜躁人人爽视频 | 欧美色图另类 | 中文字幕在线观看第一区 | 在线观看www91| 国产免费视频在线 | 久久久久久黄色 | 国产精品第| 亚洲成人黄色在线观看 | 黄色影院在线观看 | 亚洲国产精品激情在线观看 | 黄av免费在线观看 | 免费三级a | 97人人澡人人添人人爽超碰 | 四虎8848免费高清在线观看 | 91在线观看欧美日韩 | 99视频精品| 亚洲免费不卡 | 美女网站视频一区 | 国内外成人免费在线视频 | 国产免费久久 | 国产九九九精品视频 | 色黄视频免费观看 | 成人99免费视频 | 九九影视理伦片 | 99在线精品视频观看 | 国产成人在线精品 | 国产在线中文 | 97色资源 | 91超级碰碰| 国产亚洲精品久久久久久电影 | 在线电影a | 国产剧情一区在线 | 在线你懂的视频 | 2021国产视频| 色婷婷在线观看视频 | 手机在线永久免费观看av片 | 久久欧洲视频 | 亚洲三级黄色 | 婷婷丁香社区 | 成年人免费在线观看 | 免费看一级黄色大全 | 精品资源在线 | 日本成人免费在线观看 | 黄av免费在线观看 | 日日夜夜操操操操 | 中文字幕国产精品一区二区 | 欧美日韩中文国产一区发布 | 国产精品自产拍在线观看网站 | 久久精品国产亚洲a | 国产色视频一区二区三区qq号 | 亚洲 精品在线视频 | 亚洲国产欧美在线人成大黄瓜 | a视频免费| 九九热精品视频在线播放 | 亚洲 中文 在线 精品 | 成人在线视频论坛 | 成人欧美亚洲 | 91精品国产91久久久久 | av+在线播放在线播放 | 亚洲成a人片综合在线 | 中文字幕一区在线观看视频 | 超碰成人av| 国产精品第72页 | 国产精品av在线免费观看 | 婷婷色在线资源 | 婷婷久久综合九色综合 | 日韩av成人 | 欧美日韩aa | 欧美 亚洲 另类 激情 另类 | aa级黄色大片 | 91视频免费国产 | 日韩在线免费高清视频 | 久久a级片 | 国产亚洲精品久久久网站好莱 | 国内三级在线观看 | 久久国产视频网 | 久久综合精品国产一区二区三区 | 四虎8848免费高清在线观看 | 91香蕉视频黄 | 午夜免费福利片 | 日日夜夜狠狠操 | 久久99久久精品 | 97视频在线观看成人 | 欧美精品久久天天躁 | 日本中文字幕电影在线免费观看 | 五月婷婷激情网 | 久草在线这里只有精品 | 一区二区三区高清在线观看 | 91毛片在线观看 | av7777777| 成人小电影在线看 | 五月天视频网站 | 成人小视频免费在线观看 | 国产精品一区二区久久精品爱微奶 | 国产精品国产精品 | 97人人模人人爽人人少妇 | 久久高清毛片 | 射射射av| 国产做aⅴ在线视频播放 | 亚洲视频资源在线 | 成人影视免费看 | 中文字幕一区二区三区在线观看 | 伊人va| 亚洲国产精品久久久久婷婷884 | 久久久国产成人 | 午夜精品久久久久久久久久 | av观看网站| 久久免费精彩视频 | 成人免费视频在线观看 | 中文字幕在线视频免费播放 | 天天干天天上 | 久久五月婷婷丁香社区 | 国产成人精品一区二 | 狠狠色丁香婷婷综合基地 | 在线国产视频一区 | 日韩在线 一区二区 | 免费观看福利视频 | 黄色av免费在线 | mm1313亚洲精品国产 | 久久综合久久综合九色 | 99久久夜色精品国产亚洲 | 在线观看视频你懂得 | 亚洲japanese制服美女 | 国产糖心vlog在线观看 | 美女国产精品 | 久久综合九色综合久99 | 国产精品福利久久久 | 日本精品在线视频 | 99久久婷婷国产综合亚洲 | 久久人人精 | 91香蕉嫩草 | 九九国产精品视频 | 在线观看亚洲免费视频 | 久久草在线视频国产 | 日韩理论视频 | 久久久香蕉视频 | 色综合色综合久久综合频道88 | 亚洲1区 在线| 精品天堂av| 欧美日韩一区二区视频在线观看 | 欧美精品乱码久久久久 | 五月天色站 | 热精品 | 中文av在线播放 | 婷婷久久精品 | av7777777| 亚洲精品视频在线免费播放 | 一区二区三区影院 | 国产美女网站在线观看 | 日韩欧美视频免费观看 | 日韩午夜高清 | 五月婷婷国产 | 在线观看激情av | 欧美激情精品久久久久久变态 | av在线等 | 久久最新网址 | 欧美特一级 | 欧美视频xxx| 69国产精品成人在线播放 | 在线观看视频你懂的 | 色婷婷激情电影 | 午夜精品久久久久久久久久久 | 久久香蕉国产精品麻豆粉嫩av | 91久久久久久久一区二区 | 国产一区二区综合 | 国产精品久久综合 | 国产精品一区二区三区免费视频 | 99热精品免费观看 | 免费看黄色小说的网站 | 中文字幕视频网 | 天天插综合网 | 国产91精品一区二区 | 亚洲精品国内 | 91在线免费观看国产 | 国产精品a久久久久 | 国产麻豆视频在线观看 | www.夜夜操.com | www.玖玖玖 | 日韩一级电影在线观看 | 久久久精品一区二区 | 免费在线91 | 国产精品一区在线 | sm免费xx网站| 网站免费黄色 | 69国产成人综合久久精品欧美 | 丁香视频在线观看 | 久久精品国产免费观看 | 日本久久综合视频 | 亚洲色图激情文学 | 涩涩网站在线看 | 免费视频成人 | 五月婷婷丁香六月 | 国产日本亚洲高清 | 视频三区| 色a在线观看| 久久综合狠狠综合久久激情 | 日本久久久久久 | 日三级在线 | 午夜视频免费播放 | 亚洲国产欧美在线看片xxoo | 99视频这里有精品 | 亚洲精品一区二区三区四区高清 | 不卡国产在线 | 精品国产1区2区3区 国产欧美精品在线观看 | 综合婷婷 | 免费看片亚洲 | 亚洲 中文 在线 精品 | 毛片网站在线看 | 久久精品五月 | 国产91探花 | 欧美了一区在线观看 | 综合亚洲视频 | 97**国产露脸精品国产 | 亚洲精品一区二区久 | 欧美一级久久 | 久久久影视 | 人人搞人人爽 | 中文字幕综合在线 | 国产成人在线观看 | 欧美日本高清视频 | 综合亚洲视频 | 8x8x在线观看视频 | 草久久精品 | 欧美俄罗斯性视频 | 狠狠激情中文字幕 | 在线国产激情视频 | 久草精品视频在线播放 | 99精品视频精品精品视频 | 亚洲欧美999 | 国产九色在线播放九色 | 97精品超碰一区二区三区 | 五月宗合网 | 97成人免费视频 | 17婷婷久久www | 中文字幕av全部资源www中文字幕在线观看 | 亚洲免费公开视频 | 黄色一级在线视频 | av片子在线观看 | 国产一区二区免费 | 欧美一区二区在线看 | 精品久久久久国产免费第一页 | av一级在线 | 婷婷色在线观看 | 99精品国产在热久久 | 久久伦理| 一区二区三区在线观看中文字幕 | 91在线你懂的 | 一区二区精品在线视频 | 毛片.com| 亚洲欧美日韩国产精品一区午夜 | 99国内精品 | 国产精品黑丝在线观看 | 亚洲aⅴ在线观看 | www.久热 | 黄色免费网战 | 久久久精选 | 四虎影视成人精品国库在线观看 | 久久午夜色播影院免费高清 | 日本中文一级片 | 99re国产 | 亚洲波多野结衣 | 成人超碰97| 欧美一级激情 | 精品国产成人在线 | 在线影视 一区 二区 三区 | 亚洲爱爱视频 | 福利一区在线视频 | 麻豆91视频| 一本一道波多野毛片中文在线 | 日韩电影在线观看一区二区 | 日本精品久久久一区二区三区 | 99精品免费在线 | 国产成人精品久久久久 | 日韩深夜在线观看 | 午夜男人影院 | 久久er99热精品一区二区 | 色婷婷啪啪免费在线电影观看 | 婷婷 综合 色 | 97精品国产 | 最近最新中文字幕视频 | 成 人 黄 色 片 在线播放 | 91丨九色丨国产丨porny精品 | 久久夜色精品国产欧美乱极品 | 色婷婷久久久综合中文字幕 | 日本久久中文 | 久久夜靖品 | 久久久精品日本 | 在线观看中文字幕一区二区 | 91久久黄色| 精品国产伦一区二区三区观看说明 | 国产亚洲亚洲 | 一本一本久久a久久精品综合妖精 | 日韩精品中文字幕一区二区 | 天天射天天 | 天天操天天干天天爽 | 操操操日日日干干干 | 免费a v在线| 九九免费在线看完整版 | 日韩三级在线观看 | 日韩视频中文字幕 | 精品视频免费观看 | 精品国产免费人成在线观看 | 国产美女精品在线 | 国产成人精品亚洲精品 | 夜夜骑日日 | 中文字幕在线观看一区二区三区 | 99热.com | 免费合欢视频成人app | 一区二区亚洲精品 | 国产精品美女网站 | 成人久久毛片 | 亚洲精品国产片 | 免费视频一二三区 | 日韩区欠美精品av视频 | 97色资源 | 97人人视频 | 亚洲黄色成人网 | 蜜桃视频成人在线观看 | 一级免费黄视频 | 五月婷婷伊人网 | 在线精品一区二区 | 麻豆免费看片 | 成片免费 | 亚洲色图美腿丝袜 | 天天艹天天爽 | 怡红院av| 国产精品综合久久久久 | 日韩免费在线 | 国产一级一级国产 | 亚洲欧美精品一区二区 | av一区在线 | 玖玖在线观看视频 | 亚洲欧洲精品视频 | 久久久久夜色 | 亚洲乱码中文字幕综合 | 日本黄色免费播放 | 久久亚洲在线 | 四虎影视www | 久久久久高清毛片一级 | 97精品一区二区三区 | 麻豆一级视频 | 四虎国产视频 | 国产视频首页 | 久久久久免费精品国产 | 高清av在线| 亚洲欧洲成人精品av97 | 国产一区二区精品久久 | 亚洲网站在线看 | 香蕉视频在线免费看 | 欧美 日韩 国产 中文字幕 | 国产明星视频三级a三级点| 永久免费精品视频网站 | 日韩剧| 国产精品美女毛片真酒店 | 国产理论一区二区三区 | 成人久久18免费网站麻豆 | 2021国产视频 | 精品国产伦一区二区三区免费 | 狠狠狠色狠狠色综合 | 国产日本亚洲 | 99热最新在线 | 国产麻豆电影在线观看 | 美女精品 | www.91成人| 久久久久久久久久久久久久电影 | av看片在线观看 | 亚洲 欧洲 国产 精品 | av九九九 | 玖玖玖精品 | 欧美精品久久久久久久久免 | 乱男乱女www7788 | 久久免费公开视频 | 色综合久久久久综合体 | 国产精品久久久久四虎 | 国产高清免费 | av成人免费在线看 | 国产高清永久免费 | 在线观看视频福利 | 黄色成人av在线 | 国产精品久久久久一区二区 | 日日插日日干 | 国内揄拍国产精品 | 91久久久久久国产精品 | 久久69精品久久久久久久电影好 | 久久免费成人网 | 国产精品成人自产拍在线观看 | 天天爱天天 | 视频在线观看一区 | 国产精品久久99综合免费观看尤物 | 人人爽人人爽人人爽学生一级 | 日韩精品一区二区免费视频 | 久草电影免费在线观看 | 综合国产在线观看 | 精品国产午夜 | 色多多在线观看 | 一区二区三区视频网站 | 国产精品免费一区二区三区 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 激情电影在线观看 | 玖玖爱国产在线 | 91手机在线看片 | 爱爱av网| 狠狠色婷婷丁香六月 | 91精品福利在线 | 特黄一级毛片 | 久久艹在线观看 | 在线有码中文字幕 | 最近2019年日本中文免费字幕 | 91精品一区二区在线观看 | 免费久草视频 | 日日日网| 久久精品96 | 中文字幕在线视频一区二区 | 美女网站视频免费都是黄 | 成人午夜电影免费在线观看 | 99精品在这里| 玖玖玖在线 | 夜夜躁日日躁狠狠躁 | 日韩精品久久一区二区三区 | www.久久色| 操久在线 | 久久国产精品第一页 | 欧美日韩国产一区二 | 久久免费播放视频 | 国产精品成人久久久久 | 精品中文字幕视频 | 日本公妇在线观看高清 | a色视频| 高清不卡一区二区在线 | 日韩精品你懂的 | 又黄又爽的视频在线观看网站 | 九九色网 | 天天草综合网 | 天天干天天综合 | 99精品欧美一区二区三区黑人哦 | 欧美精品在线免费 | 97超碰福利久久精品 | 国产区久久 | 日本久热 | 视频在线亚洲 | 在线亚洲高清视频 | 亚洲成人av一区二区 | 免费观看91视频大全 | 天堂av在线网站 | 国产中文字幕视频 | 精品国产电影 | 日韩午夜精品 | 国产精品久久久久久久久大全 | 麻豆91小视频 | 99在线精品观看 | 久久久高清一区二区三区 | 五月婷婷影院 | 在线日韩三级 | 西西44人体做爰大胆视频 | 精品亚洲二区 | 亚洲专区路线二 | 欧美另类tv| 日韩免费网址 | 国产在线探花 | 97超碰人人澡人人 | 久久免费视频在线观看30 | 精品夜夜嗨av一区二区三区 | 欧美日韩免费视频 | 午夜国产在线观看 | av一级网站 | 亚洲va在线va天堂va偷拍 | 天天爽人人爽夜夜爽 | 色偷偷97 | 操碰av| 国精产品999国精产品视频 | 精品国内 | 久久艹人人 | 成人午夜毛片 | 成人久久久久久久久久 | 在线 日韩 av| 亚洲午夜精品一区二区三区电影院 | 国产99免费| 亚洲专区 国产精品 | 久久公开免费视频 | 在线观看成年人 | 免费看成人片 | 色综合天天狠天天透天天伊人 | 久久久麻豆视频 | 国产三级香港三韩国三级 | 亚洲经典在线 | 国产日韩欧美在线影视 | 日韩av偷拍| av中文字幕网址 | 一区在线观看 | 黄色av高清 | 欧美乱码精品一区 | 成人国产网址 | 国产97色 | 日韩特级毛片 | 亚洲成人精品在线观看 | 97超级碰| 国产精品av免费 | 香蕉视频日本 | 天堂中文在线播放 | 伊人五月天综合 | 在线亚洲午夜片av大片 | 日韩精品在线播放 | 99视频免费看 | 国产精品专区一 | 美女黄网久久 | 色偷偷网站视频 | 亚洲国产一区二区精品专区 | 99免在线观看免费视频高清 | 欧美一区二区三区在线观看 | 四虎永久免费网站 | 国产精品一区二区果冻传媒 | 久久精品国产精品亚洲 | 夜夜躁日日躁狠狠躁 | 久久综合免费视频影院 | 黄色美女免费网站 | 亚洲视频免费在线观看 | 亚洲电影久久久 | 国产国产人免费人成免费视频 | 亚洲国产一区二区精品专区 | 国色天香第二季 | 日韩欧美在线观看一区 | 久久精品播放 | 久久亚洲欧美日韩精品专区 | 久久成人国产精品入口 | 欧美精品久久人人躁人人爽 | 91精品视频导航 | 麻豆91小视频 | 亚洲欧美国产精品va在线观看 | 亚洲第一成网站 | 亚洲一区二区三区毛片 | 91精品婷婷国产综合久久蝌蚪 | 久久久精品免费观看 | 久久av网址 | 欧美综合在线观看 | 欧美日韩国产综合网 | 国产h在线观看 |